在线代码试运行

在浏览器里直接写代码、跑代码、看结果。支持 HTML / CSS / JavaScript / TypeScript / Vue3 / React / LESS / SVG / Canvas / Python / SQLite / Markdown / JSON / 正则 共 14 种运行时 —— 带语法高亮、行号、结构化控制台、错误定位、链接分享与本地保存, 打开即用,无需安装任何工具。

行 1,列 1 xml 118 字符 / 5 行
运行结果
HTML / CSS / JavaScript 最常用的前端三件套:结构、样式、行为分栏编写,即时预览 在左侧编写代码后点击「运行」(或按 Ctrl/⌘ + Enter)
快捷键:Ctrl/⌘ + Enter 运行 · Ctrl/⌘ + S 保存 · Ctrl/⌘ + F 查找 · Tab 缩进

支持的运行时

所有运行时都在浏览器内完成,不需要后端编译服务;Python 与 SQLite 通过 WebAssembly 在本地加载(首次使用需下载运行时,之后走浏览器缓存)。

Web 前端

  • HTML / CSS / JavaScript 最常用的前端三件套:结构、样式、行为分栏编写,即时预览
  • HTML / CSS / TypeScript 把脚本换成 TypeScript,由转译器剥掉类型后运行
  • Vue 3 Vue 3 全局构建版,模板 + setup 一把梭,无需构建工具
  • React + JSX React 18 + JSX 即时转译,含 Hooks 示例
  • LESS 预处理器 LESS 变量 / 嵌套 / 混合,编译结果直接上屏
  • SVG 图形 直接书写 SVG 源码,所见即所得,适合调绘图与动画
  • Canvas 绘图 全屏 Canvas + requestAnimationFrame 动画骨架

数据与文本

  • Markdown 本地 marked 渲染(不联网),支持表格、代码块、任务列表
  • JSON 校验 语法校验 + 错误定位 + 可折叠树视图
  • 正则表达式测试 匹配高亮 + 分组结果表 + 替换预览

编程语言

能力一览

实时运行与预览

停止输入 0.7 秒自动运行(可关),也可 Ctrl/⌘ + Enter 手动触发;预览支持 375 / 768 / 1280 三种宽度预设与全屏。

结构化控制台

console.log / warn / error、未捕获异常、未处理的 Promise 拒绝都会汇总到控制台,重复日志自动折叠,console.table 与 SQL 结果直接渲染成表格。

分享即链接

代码经 deflate 压缩后放进 URL 的 # 锚点,打开链接即还原,不上传服务器、不设过期时间,也没有注册门槛。

不丢稿

编辑内容自动存本地草稿,切换语言时每种语言各留一份缓冲区;配合「我的代码」可长期保存,并支持导出 / 导入 JSON。

沙箱隔离

预览在 sandbox iframe 中运行,默认不具备同源权限,读不到本站 Cookie 与本地存储;需要时可显式开启(会有风险提示)。

零安装覆盖多语言

Web 三件套、Vue / React、LESS、SVG / Canvas,以及 Python(Pyodide)、SQLite(sql.js)、Markdown、JSON、正则,共 14 种运行时。

快捷键

Ctrl / ⌘ + Enter 立即运行代码
Ctrl / ⌘ + S 保存当前片段到「我的代码」
Ctrl / ⌘ + F 在当前文件内查找(支持正则)
Ctrl / ⌘ + / 注释 / 取消注释当前行或选区
Tab / Shift + Tab 整体缩进 / 反缩进(支持多行)
Esc 退出全屏预览、关闭弹层

示例速览

点击任意示例直接载入,代码可随意修改,改完点「运行」即可。

想要系统学习?前往 编程教程 从零开始,或在 技术小册 中查阅专题。

常见问题

代码会保存到服务器吗?

不会。代码只存在于你的浏览器里:编辑内容自动存本地草稿,「我的代码」也存在 localStorage;分享链接是把代码压缩后放在 # 锚点中,锚点内容不会随请求发送到服务器。

为什么预览里的 localStorage 不能用?

预览运行在 sandbox iframe 中且不含同源权限,因此没有存储访问能力 —— 这是为了防止分享链接里的代码读取本站的登录信息。确实需要时,可打开预览工具条上的 「允许同源」开关(仅对你自己信任的代码使用)。

Python 为什么要等一会儿?

Python 由 Pyodide(CPython 编译到 WebAssembly)承载,首次运行需下载约 10MB 运行时文件, 之后会命中浏览器缓存,基本是秒开。SQLite 同理(sql.js,约 1.2MB)。

分享链接太长怎么办?

链接长度取决于代码体积。超过 2000 字符时部分聊天工具会截断,建议改用「下载 HTML」 直接发送文件,或先保存到「我的代码」再在本机导出 JSON 备份。

怎样把预览结果分享给别人?

把 /try/embed 作为 iframe 地址即可嵌入到任何博客或文档里, 参数与主站一致(?f= 示例、?r= 运行时、#c= 代码载荷)。