Build and run HTML, CSS and JavaScript together in one online playground with live preview and console. Sandboxed, private, and runs fully in your browser. Free.
A code playground is a browser workspace that turns three separate files into one running page instantly. Markup describes the structure, CSS describes the appearance, JavaScript describes the behaviour, and the playground handles the plumbing so you can focus on the idea rather than the setup.
This matters because the cost of trying something should be near zero. When an experiment requires a project folder, a package install and a dev server, most small ideas never get tested. When it requires one keystroke, they do.
On each run the playground builds a complete HTML document: a doctype, a UTF-8 charset, a responsive viewport meta tag, your CSS inside a <style> element in the head, your markup in the body, and your JavaScript as a module script placed after the markup. Because the script comes last and runs as a module, the DOM is already parsed — no readiness listener required.
The generated document is handed to an iframe whose sandbox permits scripts, forms, modals and popups but not allow-same-origin. That single omission gives the frame an opaque origin, which is what stops user code from reaching the surrounding application. It cannot read our DOM, cookies or storage, and it cannot invoke privileged APIs in our origin.
Console messages travel back over postMessage and are validated against the frame's window before display, so nothing else on the page can inject fake output into your console.
Prototyping a component's markup and interaction before porting it to React or Vue. Teaching the relationship between HTML, CSS and events in one screen. Reproducing a bug in isolation so a colleague can see it immediately. Testing an accessibility pattern such as a disclosure widget with keyboard support. Practising DOM APIs — event delegation, dataset, classList, IntersectionObserver — with visible results.
Anything that needs a build pipeline, environment variables, package resolution, routing or a server belongs in a real project. Being honest about that boundary is the point: this tool does the small work extremely well and does not pretend to replace your toolchain.
All three files stay on your device. Rendering, formatting and drafting happen in the browser, and no code, output or asset is uploaded to Zubac Tools.
Focus on one language with the HTML Runner or CSS Runner, or add static typing in the TypeScript Runner.
Browse all free tools · Guides and tutorials · PDF tools · Developer tools · Text tools · SEO tools