Program input for input()
Type the answers your program will read with input(), one per line, before you press Run.
Files 0
Add data files your code can open by name, like open("data.csv"). Files your program writes show up here to download.
Packages NumPy, pandas, Matplotlib…
Popular packages like NumPy, pandas, Matplotlib, and SciPy load automatically when you import them. Install other pure-Python packages from PyPI here.
Run Python online in your browser
This Python sandbox is a full Python 3.14 interpreter that runs entirely in your browser. There's nothing to install, no account, and no server running your code. Type or paste a script, press Run, and see the output instantly. It's built for learning Python, testing snippets, checking an answer, trying a library, or working through a quick data task on any computer, including a Chromebook or a work laptop where you can't install software.
Under the hood it uses Pyodide, a version of the standard CPython interpreter compiled to WebAssembly. That means it's real Python, with the full standard library and the same behavior you'd get on your desktop, not a simplified imitation.
How to use it
- Write code in the editor, open a
.pyfile, or pick one of the examples. - Press Run or Ctrl+Enter (Cmd+Enter on a Mac). The first run takes a few seconds while Python loads. After that, runs start right away.
- If your program calls
input(), type the answers in Program input, one per line, before running. - Use Stop to end a program that's stuck in a loop. Python restarts automatically.
- Save your work as a
.pyfile, or press Share link to copy a link that opens your code for someone else.
What you can do with it
| Feature | How it works here |
|---|---|
| Standard library | Everything you'd expect: math, random, json, re, datetime, collections, itertools, dataclasses, asyncio, sqlite3, and more. |
| Data science packages | NumPy, pandas, Matplotlib, SciPy, and many others download automatically the first time you import them. |
| Charts | Matplotlib figures appear right in the output, with a link to save each one as a PNG. |
| Tables | If the last line of your code is a pandas DataFrame, it's shown as a scrollable table, like in a Jupyter notebook. |
| User input | input() reads from the Program input box, and each answer is echoed in the output like a terminal. |
| Files | Upload CSV, text, or JSON files and open them by name. Files your code creates can be downloaded. |
| More packages | Install pure-Python packages from PyPI in the Packages panel, or with await micropip.install("name") in your code. |
| Top-level await | You can use await directly in your script, so asyncio code runs without extra setup. |
Safe by design
Your code runs in a separate background thread inside a locked-down sandbox that's walled off from the rest of this site. It can't read cookies, see the page, or act on your behalf anywhere. Scripts that loop forever can't freeze your browser tab either. Press Stop and Python restarts in a moment.
Nothing you type is sent to FlipperFile. Your code is saved in your own browser, so it's still here when you come back. Shared links store the code inside the link itself, and a shared link never runs automatically. You always see the code first and choose whether to press Run.
Limits of Python in the browser
- No threads or subprocesses.
threadingandmultiprocessingcan't start real parallel work, andsubprocesscan't run programs. - Limited networking. Raw sockets aren't available. You can fetch web data with
pyodide.http.pyfetchfrom sites that allow cross-site requests. - Only pure-Python packages from PyPI. Packages with compiled code install only if Pyodide has already built them, which covers most popular science and data libraries.
- Somewhat slower than desktop Python. Pure Python code typically runs a bit slower than a native install. NumPy and pandas operations are close to normal speed.
- No GUI windows. Tkinter and Pygame windows can't open, but Matplotlib charts display inline.
- Files are temporary. Files live in memory and disappear when you restart Python or leave the page, so download anything you want to keep.
Keyboard shortcuts
| Keys | Action |
|---|---|
| Ctrl+Enter or Shift+Enter | Run the program |
| Tab / Shift+Tab | Indent or outdent the current line or selection by four spaces |
| Enter | New line with matching indentation, indented one more level after a colon |
| Ctrl+/ | Comment or uncomment the selected lines |
| Esc then Tab | Move keyboard focus out of the editor |
Frequently asked questions
Which version of Python does this run?
Python 3.14, through Pyodide 314.0.7. The exact version is shown in the status line once Python has loaded, and you can print it with import sys; print(sys.version).
Is this a real Python interpreter?
Yes. Pyodide is CPython, the official Python implementation, compiled to WebAssembly. Syntax, error messages, and standard library behavior match regular Python.
Is my code uploaded or stored on a server?
No. It runs on your own device. Your latest code is saved in your browser's storage so you don't lose it, and nothing is sent to FlipperFile.
How do I use input() in an online Python compiler?
Browsers can't pause a running program to wait for typing, so type your answers in the Program input box first, one line for each input() call. If the program asks for more lines than you provided, you'll see an EOFError with a reminder.
Why is the first run slow?
The first time, your browser downloads the Python interpreter and standard library. It's cached after that, so later visits start much faster. Importing a large package like pandas the first time also takes a few seconds.
Can I install packages with pip?
The pip command isn't available, but the Packages panel does the same job for pure-Python packages on PyPI. In code, use import micropip and then await micropip.install("package-name").
Can I use this for homework or teaching?
Yes. It works on school computers and Chromebooks without installation, share links make it easy to hand out starter code, and each student's code stays in their own browser.

