A Python IDE that lives in your browser. No install. No setup. Just code.
PyBolt is a fully browser-based Python IDE built for learners and developers who want to write and run Python anywhere, on any device, with nothing to install. Open the link, start coding.
A full code editor with syntax highlighting, bracket matching, auto-close for (), [], {}, "", '', and a find bar. Your files are saved automatically every 10 seconds, even if you close the tab.
Hit Run or Ctrl+Enter. Python executes right in the browser, powered by Brython. Output appears instantly in the panel below. First run takes a few extra seconds while the runtime warms up; every run after is fast.
Supported: variables, loops, conditionals, functions, classes, list/dict/set/tuple, f-strings, slicing, most builtins (len, range, print, input, sorted, enumerate, zip, map, filter, and more), math, random, json, datetime, functools, collections, and other standard library modules.
Not supported: file I/O, networking, numpy, pandas, matplotlib, or any package that requires native code.
Create multiple files and folders, drag files between them, rename, duplicate, and move them with a right-click menu. Closing a tab doesn't delete the file, it stays in the explorer.
As you type, PyBolt suggests completions inline as faded ghost text. Press Tab to accept, Esc to dismiss. It knows Python's keywords, builtins, snippets, and every variable, function, and class you've defined in the current file.
Before your code runs, PyBolt catches common mistakes: wrong-case builtins (Print instead of print), Python 2 syntax, missing colons, bad JSON, and more. Errors are shown clearly before execution even starts.
10 ready-to-use code examples: Hello World, Fibonacci, Classes, Decorators, Generators, Sorting, Dataclasses, Matrix Ops, and more. Click any card to open it in the editor.
A built-in teaching tool that walks through your code line by line, explaining what each line does in plain English.
- The current line highlights in the editor as it executes
- Each step gets a card describing what happened
- Variables update live so you can watch them change
- Switch between Step Output (one card per line) and Full Output (just the printed results)
- Works on mobile too, tap the Explainer button from the PyBolt mobile screen
Unlike the main runtime (Brython), the Loop Explainer uses a custom Python interpreter written entirely in JavaScript. It executes a deliberately limited subset of Python one statement at a time so it can explain execution, highlight lines, and show variables changing live.
Tweak the IDE from the ⚙ Settings panel:
| Setting | What it does |
|---|---|
| Verifier | Pre-run syntax and mistake checker |
| Autocomplete | Inline ghost-text suggestions |
| Line numbers | Show or hide line numbers |
| Auto Mirror | Auto-close brackets and quotes |
| Auto-save | Save workspace every 10s and on every run |
Worth knowing before you rely on it for anything serious:
- Single browser, single device. Workspace state (files, folders, tabs) is saved to
localStorageonly. Clearing browser data wipes your work, and there's no sync between browsers or devices, switching machines means starting from a blank workspace. - No real Python runtime. Code execution is powered by Brython, a Python-to-JS transpiler, not CPython. It covers most of the language and standard library well, but isn't a byte-for-byte match to CPython behavior, and packages requiring native code (
numpy,pandas,matplotlib, etc.) simply can't run. - No file I/O or networking. Code can't read/write real files on disk or make network requests; everything happens inside the browser sandbox.
- The Loop Explainer is a separate, much smaller interpreter. It's a hand-built JS step-through engine, not Brython, so it only understands a basic subset of Python (variables,
print(),if/elif/else,for/whileloops, arithmetic). Functions, classes, imports, try/except, comprehensions, and generators are detected and skipped rather than executed, the editor will flag these lines as unsupported. - No real-time collaboration. PyBolt is single-user and single-tab by design. There's no multiplayer editing or shared sessions.
- Stop doesn't truly interrupt execution. Brython runs synchronously, so the Stop button can only flag a run as halted after the current statement finishes, it can't kill a genuine infinite loop mid-execution.
- Autocomplete is heuristic, not semantic. Suggestions come from keyword/snippet lists and a regex scan of your file for variable, function, and class names. It doesn't understand scope, types, or imported module contents.
- No version history. There's no undo beyond your browser's in-session history, and no automatic backups, downloading your files is the only durable backup.
- No accounts, so no backup if local storage is lost. Since there's no server and no login, the only way to preserve work long-term is to manually download each file you care about.
PyBolt IDE is designed for desktop. If you open it on a phone, you'll see a button to launch Loop Explainer Lite, a mobile-friendly version of the Explainer that fits a small screen, with a collapsible code panel, touch-friendly controls, and a slide-up variables panel.
Any modern browser. Chrome, Firefox, Safari, Edge. No extensions, no plugins, no accounts.
Python support is provided by Brython. The editor is CodeMirror 5.
- Brython - Python 3 in the browser (MIT License)
- CodeMirror 5 - code editor (MIT License)
- JetBrains Mono - editor font (OFL License)
- Syne - UI font (OFL License)
Licensed under Proprietary - All Rights Reserved. See LICENSE for full terms.
Live app: PyBolt
Built with ♡ by Nova