Code Editor (Monaco)

Browser-based code editor powered by Monaco — the same engine that runs VS Code. 80+ languages with full syntax highlighting, autocomplete, find/replace, multi-cursor, command palette (F1 / Cmd+Shift+P), and four built-in themes. Share any session as a URL. 100% client-side.

Tool Web & Dev Updated Apr 20, 2026
How to Use
  1. Pick a language from the toolbar (defaults to JavaScript). 80+ supported.
  2. Pick a theme — VS light, VS dark, or high-contrast variants.
  3. Use VS Code shortcuts: Cmd/Ctrl+S (save), Cmd/Ctrl+F (find), Cmd/Ctrl+H (replace), Cmd/Ctrl+/ (toggle comment), Cmd/Ctrl+D (multi-cursor), F1 (command palette).
  4. Share Link copies a URL that includes the language, theme, and your code (base64-encoded in the hash).
  5. Download saves as the right extension for the chosen language (.py, .ts, .rs, etc.).
Loading Monaco editor (~3 MB)...

Keyboard shortcuts

Cmd/Ctrl+S Download current tab
Cmd/Ctrl+Enter Run (if the language has a runner)
Cmd/Ctrl+Shift+F Format document
Cmd/Ctrl+N New tab
Cmd/Ctrl+W Close current tab
Cmd/Ctrl+Tab Next tab
Cmd/Ctrl+Shift+Tab Previous tab
Cmd/Ctrl+P Quick tab switcher (fuzzy find)
F1 Monaco command palette (all commands)
Cmd/Ctrl+F Find in current tab
Cmd/Ctrl+H Find + replace
Cmd/Ctrl+D Select next occurrence (multi-cursor)
Alt+Click Add cursor at click point
Cmd/Ctrl+/ Toggle line comment
Cmd/Ctrl+Shift+K Delete current line
Cmd/Ctrl+Shift+/Move line up/down
Cmd/Ctrl+]/[ Indent/outdent line
Cmd/Ctrl+G Go to line number
Drag file Drop any file onto the page to open as a new tab

Editor features

80+ languages
JS / TS / Python / Rust / Go / C / C++ / C# / Java / Ruby / PHP / SQL / HTML / CSS / Markdown / YAML / TOML / JSON / and many more
VS Code keybindings
F1 command palette, Cmd/Ctrl+D multi-cursor, Cmd/Ctrl+F find, Cmd/Ctrl+H replace, Cmd/Ctrl+/ toggle comment
IntelliSense
Built-in for JS / TS / HTML / CSS / JSON; basic for the rest
Themes
VS Dark / VS Light / HC Dark / HC Light - more in Phase 4
Share via URL
base64-encoded hash carries language + theme + code; no server touched
Download
Auto-picks the right extension for the chosen language

Run in browser (Phase 2)

JavaScript
Executed in a sandboxed iframe; console.log / error / warn / info captured to the output panel
TypeScript
Transpiled with the official TypeScript compiler (5.3), then run as JS
Python
Full CPython 3.12 via Pyodide (WebAssembly) - stdout / stderr / tracebacks captured
HTML
Live preview iframe, sandboxed
CSS
Applied to a sample HTML page you can see instantly
Markdown
Rendered with marked.js, GitHub-style CSS in the preview
SQL
sql.js in-memory SQLite; queries render as a results table

Multi-tab + auto-save (Phase 3)

Tabs
Click + to add, x to close, double-click name to rename, drag to reorder
Per-tab language
Each tab keeps its own language, content, and cursor position
Auto-save
Debounced writes to IndexedDB; every tab survives refresh / close / reopen
Shortcuts
Cmd/Ctrl+N new tab, Cmd/Ctrl+W close tab, Ctrl+Tab next, Ctrl+Shift+Tab prev
Share imports safely
Opening a share-URL creates a new tab - your other tabs stay intact

Diff, Format, Themes (Phase 4)

Diff mode
Side-by-side compare any two tabs with Monaco's diff editor; toggle inline vs split; ignore-whitespace toggle
Format
Prettier for JS / TS / CSS / SCSS / LESS / HTML / JSON / Markdown / YAML; sql-formatter for SQL; Cmd/Ctrl+Shift+F
More themes
Dracula / Monokai / Nord / Solarized Dark+Light / Tomorrow Night / Cobalt / GitHub - lazy-loaded from monaco-themes CDN on first use

Frequently Asked Questions

Does this leave my browser?

No. Monaco runs entirely client-side. The editor itself is loaded from jsdelivr CDN, but your code never goes anywhere.

Is the share-URL safe?

It contains your code in the URL hash (after #), and hash content is never sent to any server by browsers. Anyone with the link sees the code, but no third party intercepts it in transit.

How big can my code be?

Monaco handles ~10,000 lines comfortably. Share URLs work up to ~100 KB of source (browser URL limit). Bigger pastes work in the editor — just download instead of share.

Can I run the code?

Not yet — this is the editor-only Phase 1. Run-in-browser for JS / Python / HTML / SQL / Markdown is the next ship.

Why does it feel like VS Code?

Because it is VS Code's editor — Monaco is the open-source extraction of the exact component VS Code uses.

Common Use Cases

Quick scratchpad

Open the editor, paste, share the URL — no signup, no save dialog.

Snippet gallery

Send a friend a Share Link with the code already loaded in their preferred theme.

Lightweight IDE

When you need real syntax highlighting + find/replace but don't want to open VS Code.

Language demos

Show off Rust / Go / TypeScript / Python snippets with full highlighting on any device.

Last updated: