Advertisement
Guide
About the Code Runner
Write a snippet and run it — no install, no account, no server. JavaScript runs in a Web Worker isolated from the page, TypeScript is converted to JavaScript first, and Python runs on Pyodide, the CPython interpreter compiled to WebAssembly.
Import npm packages by name (import _ from 'lodash') and they load from jsDelivr. In Python, packages that ship with Pyodide — numpy, pandas, matplotlib, scipy, scikit-learn and many more — install the first time you import them.
What it can and cannot do
Code runs with the browser's permissions: fetchworks for APIs that allow cross-origin requests, but there is no file system, no shell and no Node.js built-ins such as fs or child_process. TypeScript types are removed, not checked — use your editor for type errors. Python packages that need native code outside Pyodide's set cannot be installed.
Safe to experiment
Every JavaScript run starts in a fresh worker, so globals and timers from the last run never leak into the next. An infinite loop is one click on Stop away. Shared links open the code but never run it until you press Run.
How to use it
- 1Pick JavaScript, TypeScript or Python.
- 2Write code or choose an example.
- 3Press Run (Ctrl+Enter). Output, tables, charts and errors appear on the right.
- 4For Python input(), put one answer per line in the Input box.
Frequently asked questions
Which Python version is it?
Python 3.13 via Pyodide 0.29. The first start downloads about 10 MB; after that the browser cache makes it quick.
Can I use npm packages?
Yes. Import them by name — import { format } from 'date-fns' — and they load from jsDelivr as ES modules. Packages that need Node.js built-ins will not work in the browser.
Does TypeScript check my types?
No. Types are removed so the code runs, the way esbuild and Babel do; line numbers stay the same so errors still point to the right line.
How do I stop an infinite loop?
Press Stop. JavaScript restarts instantly; Python restarts in a few seconds because the interpreter is reloaded.
Can my code read my other data on this site?
Code runs in a separate worker with no access to the page, its storage or your other tabs. Links you receive open the code without running it.
