Free · no signup · end-to-end encrypted

A
workspace
in
your
browser.

Send
the
link.


LiveCodeShare is a full development environment that opens in a tab — real editor, real terminal, real runtime — built so two people can code on one thing at once without installing anything.

scroll to explore

How it works

Three steps. No fourth.

Pick a display name

No account, no email, no card. A name is only so people in your room know who is typing.

Create or join with a link

A workspace is protected by a password you choose. Send the link to anyone — they land at your door, ready to unlock.

Code together, run together

Shared cursors, shared terminal, live preview. Everything one person does, everyone sees — character by character.

The editor

Monaco — the engine behind VS Code — with your themes.

This is not a screenshot. Type in it. Switch the theme; these are the exact five themes the workspace offers. When you open the real IDE at the bottom of this page, it is this same editor, same keystrokes, same shortcuts.

specimen · index.html
Theme

scroll to wake the editor

Running code

One Run button. Three places it can take you.

The workspace decides what a file needs by itself — the same picker you will see in the embed below.

HTML · CSS · JS

Instant preview

Press Run on an index.html and the page opens served by a service worker — external fonts, images and CDNs included, with a console relay back to the editor.

Node.js · WebNode

npm install, no server

A real Node.js runtime runs inside your browser tab: npm install resolves against an offline package cache, Express and Vite dev servers boot, previews ride on a virtual network.

Cloud + local bridge

Everything else

Forty-plus compiled languages run on remote sandboxes with live stdin. For your own toolchain, pair the site with a small local bridge over a six-digit PIN.

Together

Built around the moment two people look at one file.

Presence
Everyone in the room appears at the top of the screen. Join and leave notices are honest — no ghost collaborators.
Cursors and selections
Remote carets carry names and colors, and update as the other person types. Follow mode lets you ride along with someone else's editing.
Voice, video, screen
Calls open inside the room as floating frames — no third-party meeting link to paste anywhere.
Teacher mode
A host can hold a class to read-only, hand out files, and lock the door. Built for rooms of students, not just pairs.

The deal

What we promise, in plain terms.

Free

No premium tier exists to upsell you later. Permanent workspaces cost an admin key you give yourself.

No signup

A display name is the whole identity system. Nothing to confirm, nothing to recover.

Encrypted

Room traffic is end-to-end encrypted; the server relays what it cannot read.

Yours to leave

Workspaces disappear after an hour of silence unless you make them permanent. Export any workspace as a zip, any time.

Pro tools

The layer you stop noticing — until another editor lacks it.

Both demos below run the workspace's real code on this page. The formatter is the same pipeline Ctrl+S runs; the export is the same zip a workspace hands you. Nothing is simulated.

Format · messy.js

118 languages. One keystroke.

This button runs formatSource() — Prettier for the web tier, built-in beautifiers for everything else — on a deliberately unreadable line, then writes the result back into the demo room. In a workspace it is Ctrl+S.

before

const   room={name:"pace",laps:3,drivers:["alex","maya"]};function greet(w){return "hello "+w+"!"}class Timer{constructor(){this.t=0}}const x=1,y=2;console.log(room,greet("pace"),x+y);
Runs entirely in your browser. The formatted file lands in the demo room — the workspace below shows it.
Export · workspace.zip

Your code leaves when you do.

Any workspace exports as a standard .zip — every file, every folder, built in the browser with no server round-trip. This button zips the demo room exactly as a workspace would.

  • index.html
  • styles.css
  • app.js
  • notes.md
  • race.js
  • messy.js
  • src/
A plain zip. No lock-in, no export tier.

The defaults are the safety net.

Trust

Encrypted rooms

Room traffic is end-to-end encrypted. The server relays what it cannot read.

No accounts

A display name is the whole identity system. Nothing to leak, because nothing is collected.

Offline by hand

A local-offline workspace never touches the network — the room lives in your tab.

Host in charge

Teacher mode holds a room read-only, hands out files, and locks the door.

Questions

Asked often, answered straight.

Is the demo at the bottom of this page the real IDE?

Yes. It is the same components, stores and themes the workspace uses — the editor accepts keystrokes, the file tree creates files, and the Run button opens the real preview flow. It runs offline in your browser with networking disabled so it stays a quiet demo.

Do the people I invite need accounts?

No. They need the link and the room password. Their display name is the only thing they choose.

Where do my files live?

In the room, synced to everyone in it. Local-offline workspaces stay in your browser only. You can export everything as a zip whenever you want.

What happens when I stop paying?

Nothing changes. There is no payment to stop.

Which languages can run?

Front-end stacks run instantly in preview. Node.js projects run in-browser through WebNode. Compiled languages — C, C++, Rust, Go, Java, Python and more — run on cloud sandboxes, or on your own machine through the local bridge.

Explorer

Files behave like files.

This is the workspace's own file tree. Right-click it to create or rename; drag a file onto the editor later and it opens in a split. In an offline demo room everything stays local to your browser.

editor → index.html

explorer · live
Command palette

Ctrl+K reaches everything.

The palette below is the real one — the same commands, fuzzy match and keyboard navigation as inside a room. Focus this page and press Ctrl+K (Cmd+K on a Mac). Try typing "theme".

editor → notes.md

command palette · Ctrl+K / Cmd+K
Instant run

One click, one tab, your code.

The button below calls the workspace's actual run path for HTML projects: it publishes index.html with its linked stylesheet and script through the preview service worker and opens the result in a new tab. Edit app.js in the specimen above first, if you like.

editor → app.js

run · real service-worker preview

Edit app.js in the editor first — the new tab runs whatever you saved.

WebNode

Node.js boots in this tab. Really.

Below is the product's own WebNode bridge starting the same runtime worker a workspace uses — module resolution, streams, process semantics — then running hello.js and streaming its stdout back line by line. Nothing is mocked; nothing leaves your browser.

editor → hello.js

webnode · real runtime worker
Graphify

Your imports, drawn as a living map.

Graphify scans every file in the workspace and renders its dependency graph as an interactive force layout. The card below opens the real view over the demo files — src/main.js imports src/format.js, so there is exactly one edge to find. Drag it.

editor → src/main.js

graphify · live import graph
Watch while you code

A tutorial in the corner, code in the middle.

Rooms have chat-side YouTube embeds that pop out into floating frames — draggable, resizable, always above the editor. Paste any watch link below; this is the genuine player component, not a picture of one.

editor → styles.css

floating player · the chat pop-out component

Inside the editor

Every keystroke is already collaborative.

Scroll. The pane on the left is the real Monaco editor — same instance the IDE uses. The pills, carets and washes are the real stores: typingUsers, cursor-store and live-selection, driven by the same socket events as a live room.

tour · 6 stops · the editor follows you
editor tour · live01 / 06
presenceAlexMayaJordanYou

loading editor

index.html · 5 tabs in this demo

type in the pane — it is the real editor

Tabs

One file open, many waiting.

The strip is the workspace's own EditorTabs. Click a tab, the model swaps without remounting. As you scroll, the tour calls openTab() — the same store call a click in /ide makes.

index.html · index.html · 5 tabs in this demo

live store state

openTab("index.html") · tabs active

Typing

Someone is typing in app.js — you can tell.

The green pill is the real typing store: typingUsers keyed by userId, set by user-typing and cleared after 1.5s of quiet. Here Alex appears because the tour calls setTypingUser('tour_alex','Alex','app.js') — the exact call a live room makes.

app.js · Alex · app.js

live store state

scroll to activate · app.js

Cursor

A caret with a name.

Maya's caret is a real Monaco decoration: cursor-store.setCursor plus ensureRemoteUserStyles. The hue comes from a hash of her userId, the label is a ::after with her name. Edit the file and the caret re-anchors to its decoration range.

app.js · Maya · line 3 · column 18

live store state

scroll to activate · app.js

Selection

Selections are live too.

Jordan dragged across four lines. That range is live-selection, throttled to 50ms, rendered as a tinted decoration with the same hue as the caret. Clear the drag and the store receives clear-live-selection.

styles.css · Jordan · styles.css · 4 lines selected

live store state

scroll to activate · styles.css

Presence

Everyone present, nothing ghosted.

All three appear as presence. When you scroll, the editor follows the file that user's cursor is in. Type in the left pane now — the next step still shows what you changed because the Yjs doc owns the text.

src/main.js · 3 peers · follow mode ready

live store state

scroll to activate · src/main.js

Stay

Your words stay as you type.

In a real room Yjs merges concurrent edits. In this offline demo the store upsert keeps your keystrokes. The file you edit here is the same file the final IDE below will open.

notes.md · Try typing here

live store state

scroll to activate · notes.md

LCS · PACE LAPP 000
scroll — run the lap

Now touch it

This is the workspace. Not a picture of it.

Everything below renders from the product's own code: the top bar, the explorer, the editor, the Run menu, even the theme you pick here. Edit the page, press Run, watch the preview open in its own tab — then take the same two files into a real workspace and nothing will surprise you.

livecodeshare · offline demo

the workspace boots as you approach

Scroll — the desk slides up.

Open a workspace

Open a workspace. Send the link.

Thirty seconds from this sentence to sharing a cursor.

Open a workspace

free · no signup · 30 seconds