JavaScript Runner
Run JavaScript in the browser locally, console output and async/await supported
FAQ
Is the code uploaded?
No. JavaScript already runs in the browser, so the code never leaves your device.
Are async/await and promises supported?
Yes. Write asynchronous code directly; output appears once the promise settles.
Can it access the page DOM?
No. Code runs in an isolated context without access to this page DOM, so runs cannot interfere with the tool itself.
About this tool
Code runs on the page's main thread, wrapped by new Function into an async arrow function body — so top-level await works, but import does not (this is not a module environment).
console.log / warn / error / info are intercepted and colour-coded: arguments are joined with spaces and objects or arrays are expanded with JSON.stringify (falling back to String() for circular references or functions). Timing appears in the status bar and errors keep their original message.
This is not a sandbox: the code shares the page's origin and scope, so it can read and write window, touch the DOM and make network requests. Pasting someone else's code here executes it directly against the page — read it first.
One more thing to know: there is no timeout. An infinite loop or a very slow synchronous computation freezes the whole page and the only way out is closing the tab. Before running heavy computation, make sure the loop has a clear exit condition.