Python starts when you press Run or click into the editor. The first load downloads several megabytes, then your browser caches it.
Output
Press Ctrl+Enter or Run to see your program's output here.
Shortcuts: Ctrl+Enter run, Tab indent, Shift+Tab outdent, Ctrl+/ comment.
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

    1. Write code in the editor, open a .py file, or pick one of the examples.
    2. 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.
    3. If your program calls input(), type the answers in Program input, one per line, before running.
    4. Use Stop to end a program that's stuck in a loop. Python restarts automatically.
    5. Save your work as a .py file, or press Share link to copy a link that opens your code for someone else.

    What you can do with it

    FeatureHow it works here
    Standard libraryEverything you'd expect: math, random, json, re, datetime, collections, itertools, dataclasses, asyncio, sqlite3, and more.
    Data science packagesNumPy, pandas, Matplotlib, SciPy, and many others download automatically the first time you import them.
    ChartsMatplotlib figures appear right in the output, with a link to save each one as a PNG.
    TablesIf the last line of your code is a pandas DataFrame, it's shown as a scrollable table, like in a Jupyter notebook.
    User inputinput() reads from the Program input box, and each answer is echoed in the output like a terminal.
    FilesUpload CSV, text, or JSON files and open them by name. Files your code creates can be downloaded.
    More packagesInstall pure-Python packages from PyPI in the Packages panel, or with await micropip.install("name") in your code.
    Top-level awaitYou 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. threading and multiprocessing can't start real parallel work, and subprocess can't run programs.
    • Limited networking. Raw sockets aren't available. You can fetch web data with pyodide.http.pyfetch from 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

    KeysAction
    Ctrl+Enter or Shift+EnterRun the program
    Tab / Shift+TabIndent or outdent the current line or selection by four spaces
    EnterNew line with matching indentation, indented one more level after a colon
    Ctrl+/Comment or uncomment the selected lines
    Esc then TabMove 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.

    Our Full Dev Tool Library

    Flipper File