Some code needs a page, not a console.

A real page, beside your code.

A Web Snippet runs as a real page in its own process, with its console a tab away. Change only the CSS, and the page keeps its state.

01

One page, in Parts

A Web Snippet is one page, written in Parts: HTML, CSS and JS, each with its own undo.

The HTML Part is open. The CSS and JS Parts are one tab away, and the page is beside them.
02

A page you can click

The page runs beside the code. What it prints is in the Console tab, and switching between them keeps the page as it was.

Click + and −: each count is printed in the Console tab, and the Page tab keeps the count.
03

Change the CSS, keep the state

An edit that changes only the CSS goes into the running page without a reload, so its state stays. Any other edit that changes the page reloads it.

The count stays at 3 when only the CSS changes. An edit to the JSX reloads the page at 0.
04

A broken edit keeps the last working page

When an edit breaks the build, the last page that worked stays up, with a bar linking to the line to fix.

A missing ) on line 15. The page stays up, and its bar names the line to fix.
05

Tailwind, offline

Put @import "tailwindcss"; in the CSS Part, and JSpark builds Tailwind in the app, with no connection.

The first line of the CSS turns Tailwind on, and the classes on the page are built in the app.
06

Imports from a CDN

A page can import a package from a URL, or use an import map, as any web page can. This needs a connection.

format, imported from esm.sh, writes the date in the page’s heading.
07

Open it in your own browser JSpark+

Open the page in your default browser, with its DevTools. It reloads as you edit.

Open in Browser sits at the end of the Page and Console tabs.
08

A page with its own server JSpark+

Web Page + Server and React + Server add a server Part. The page reaches it with fetch("/api/…"), and each side has its own console.

The page fetches its notes from /api/notes. The Server tab shows each request: GET, then POST.

Good to know

Pages keep running
Switch to another tab, and the page keeps its state while you are away.
Its own process
If a page freezes, only the page is stuck: Stop page ends it, and Refresh starts the last working build again. JSpark keeps working.
No Timeline for pages
The Timeline replays Node Snippets only. Peek works in pages too.
Frameworks as they run them
Vue, Svelte and Solid compile with their own compilers, so a component behaves as it does in a project.

Read the Web pages docs Read the Tailwind docs All features

Next time an idea needs a page, start a Web Snippet.

Download free for Mac

Not a trial: it doesn’t expire.

Windows: coming later