Online JavaScript compiler

This runs your JavaScript in a real, isolated engine. Your code never leaves this tab.

main.jsJavaScript engine (ES2023)

Press Run. The first run downloads the engine once, then your browser keeps it.

JavaScript · runs in your browser · nothing uploadedLn 1, Col 1

// Free tool

This runs your JavaScript in a real, isolated engine - not your browser's own console, so an endless loop stops at the ceiling instead of freezing the tab. Classes, generators, async and await, destructuring and the whole ES2023 standard library are there.

Nothing you type is sent to a server. Your code is saved only in this browser, the engine is downloaded once and cached, and once it has loaded the page keeps running your code with the network off. No account, no sign-in, no limit on how many times you press Run.

// What you get

JavaScript engine (ES2023), in a browser tab

A complete ES2023 JavaScript engine, sandboxed away from the page. It is served with this page rather than from another site, so the first run starts almost at once.

What it supports

  • ES2023: classes, modules-as-script, generators, async and await, optional chaining, BigInt, Proxy and the full standard library.
  • console.log, .info, .warn, .error and .debug, all captured into the output panel.
  • A real ceiling. An endless loop is interrupted by the engine itself, so the tab stays responsive.

What it does not

  • No DOM and no Node: document, window, fetch, require and process do not exist here. This is a language sandbox, not a browser page or a server.
  • No stdin, and no npm modules. A top-level import cannot resolve because there is nothing to resolve it against.
  • Some error messages are worded differently from Chrome or Node. Reading a property of undefined says "cannot read property 'x' of undefined" here, for example.
  • A program is stopped after 4 seconds.

// Why it runs here

Your code never leaves the tab

Most online compilers send your code to a server, run it in a container, and send the output back. That means a queue when the site is busy, a hard cap on how long your program may run, and a copy of your code on someone else's disk. This one downloads the compiler instead, once, and runs everything locally from then on.

No upload, no account

  • The compiler is fetched once and cached; your source is never sent anywhere.
  • Nothing is stored on our side. Your code is kept in this browser only, so it is still here when you come back.
  • Once the engine has loaded, it keeps running with the network off, which a hosted sandbox cannot do.

Then practice it for real

// Questions

JavaScript in the browser - FAQ

01Why is there no document or window?

Because this is a sandboxed JavaScript engine rather than a page. That is what lets an endless loop be stopped safely and what keeps your code isolated from the site it runs on. For DOM work your browser's own devtools console is the right tool; for language work this one cannot freeze your tab.

02Does async and await work?

Yes. The engine drains its microtask queue before the program is considered finished, so awaited promises settle and their output appears. A promise that never settles is reported as such instead of hanging.

03Does my code get uploaded anywhere?

No. The compiler runs inside your browser tab, so your code never leaves your machine. There is no server to send it to and nothing is logged on our side. Your code is kept only in this browser, and a share link carries it inside the link itself.

04Is it really free, and do I need an account?

Yes, and no. Every tool here runs without an account, a card, or a sign-in. They are free because they cost us nothing per run: the compiler is downloaded to your browser once and your own machine does the work.

Run JavaScript here. Get graded on it there.

Free while we're in beta.