Online Python (Pyodide)
发布时间:2026-09-20 | 浏览:1
Run Python directly in your browser using Pyodide and WebAssembly — no server setup, no installation, and no waiting. Your code executes entirely on your machine using WebAssembly, ensuring fast performance and complete privacy. Install popular packages like NumPy, Pandas, Matplotlib, and more using micropip. Work with multiple files, organize your code across tabs, and build projects right from your browser. Whether you're a beginner learning Python or an experienced developer testing quick ideas, this full-featured Python environment has everything you need to write, run, and experiment with Python code instantly.
How to Use This Online Python IDE
This browser-based Python IDE lets you write, run, and debug Python code instantly — no installation, no signup, no server. Here's how to get the most out of it:
1. Write your code — type or paste Python code in the editor on the left. Syntax highlighting, auto-indentation, and bracket matching are built in.
2. Run it — click the green Run button or press Ctrl + Enter . Output appears in the terminal on the right. Errors are shown in red with clear tracebacks.
3. Install packages — click the icon to open the package manager. Type a package name (e.g. numpy ) and click Install. Or simply import it in your code — missing packages are detected and installed automatically.
4. Create multiple files — click the + tab above the editor to add files. Name them anything (e.g. utils.py ) and import between them with standard Python syntax.
5. Visualize data — use matplotlib or plotly to create charts. Call plt.show() or fig.show() and plots render inline above the terminal.
6. Interactive input — input() works naturally. A prompt dialog appears when your code requests user input, and execution resumes with your response.
7. Save your work — click the icon (or press F9 ) to download your code as a file to your computer.
8. Open files — click the icon to load a .py file from your computer into the editor.
9. Customize the editor — click to change the theme, font size, tab width, and other editor settings. Toggle between vertical and horizontal split layouts with the button.
10. Stop execution — if your code runs too long or enters an infinite loop, click the red Stop button to interrupt it immediately.
A complete Python environment running entirely in your browser, powered by WebAssembly
Pyodide brings the full power of Python to your web browser. It is the official CPython interpreter (the same Python you'd install on your computer) compiled to WebAssembly using Emscripten. This means you get a genuine Python 3.12 environment with the complete standard library — all running client-side, with zero server infrastructure. Whether you're learning Python, prototyping an idea, or running data analysis, everything happens instantly in your browser tab.
When you click Run , your code is executed by the CPython interpreter compiled to WebAssembly. Pyodide runs inside a Web Worker , which means your code executes on a background thread — the browser UI stays fully responsive even during heavy computation or large package installations. The Python runtime, standard library modules, and installed packages all live in your browser's memory. There's no compilation step, no server communication, and no waiting for remote execution.
Privacy & Security
Your code never leaves your browser . Nothing is uploaded, stored, transmitted, or processed on any server. Every aspect — code execution, file handling, package downloads, and output rendering — happens entirely within your browser tab. Package installations fetch directly from CDN and PyPI to your browser. When you close or refresh the page, everything is gone. This makes it ideal for working with sensitive data, proprietary algorithms, or any code you want to keep completely private.
Package Ecosystem
Pyodide ships with a rich set of pre-built scientific packages compiled to WebAssembly, including NumPy , Pandas , Matplotlib , SciPy , scikit-learn , Plotly , SymPy , NetworkX , Pillow , and many more. Missing packages are automatically detected and installed when your code imports them — no manual setup needed. Additionally, any pure Python package on PyPI can be installed on-the-fly via micropip. Use the built-in package manager ( icon) to browse, install, and manage packages.
View the complete list of available packages
Graphical Output & Visualization
Create rich visualizations directly in the browser. Matplotlib plots are rendered as high-quality PNG images with a clean light theme, displayed inline above the terminal output. Plotly charts render as fully interactive HTML — you can zoom, pan, hover for tooltips, and export images. Simply use plt.show() or fig.show() as you normally would. Multiple plots in a single run are displayed sequentially. This makes the environment perfect for data exploration, scientific visualization, and creating presentation-ready charts.
Multi-File Projects
Build real projects with multiple files. Click the + button to create new files, name them as you wish, and import between them using standard Python import syntax — from mymodule import my_function works seamlessly. All files are written to a virtual filesystem before execution, so relative imports and cross-file references behave exactly as they would in a local Python project. This is perfect for organizing larger programs, separating utilities from main logic, or experimenting with modular code design.
Interactive Input
Python's built-in input() function is fully supported. When your code calls input() , a modal dialog appears for you to type your response, and execution continues seamlessly. This enables interactive programs, command-line-style menus, games, quizzes, and any code that requires user input during runtime.
Limitations & Things to Know
While Pyodide provides a remarkably complete Python environment, there are some inherent limitations of running Python in the browser:
No network access — modules like urllib , http.client , and socket cannot open network connections. Libraries like requests will import but HTTP calls will fail. This is a browser security restriction.
No native C extensions (unless pre-compiled) — packages with C, C++, or Fortran components only work if they've been specifically compiled for WebAssembly and included in the Pyodide distribution. Most popular scientific packages (NumPy, Pandas, SciPy, etc.) are already included. Pure Python packages always work.
No file system persistence — files created during execution (via open() , os.mkdir() , etc.) exist only in memory. They are lost when you refresh or close the page. Your editor code is preserved in the browser, but runtime-generated files are not.
No threading or multiprocessing — the threading and multiprocessing modules are not functional. Python runs in a single Web Worker thread. Async code with asyncio works for cooperative concurrency.
Initial load time — the first run downloads the Pyodide runtime and core packages (~15 MB). Your browser caches this, so subsequent visits load almost instantly. Large packages like Pandas or SciPy require additional downloads on first use.
Memory limits — the environment shares memory with your browser tab. Very large datasets or memory-intensive operations may hit browser memory limits (typically 1–4 GB depending on your device and browser).
Learning Python and experimenting with code
Data analysis and visualization prototyping
Algorithm practice and coding challenges
Quick scripts and calculations
Teaching and demonstrations
Working with sensitive code that must stay private
Environments where you can't install Python locally
If you encounter a bug or have questions or suggestions for improvements, please send us an email at .
© 2026 online-python.com | About | Contact Us | Terms & Conditions | Privacy Policy
Download Result
Your changes will be lost. Are you sure you want to Close the file ?
Warning: You are about to reset your code to the default template.
Remove all your current code changes
Close all additional tabs
Return to the initial starter code
Do you want to continue?
Install Python Packages
This environment uses Pyodide — a WebAssembly-based Python runtime — to execute Python code directly in your browser with custom package installation. Install packages from PyPI using micropip below. Packages must be pure Python or have Pyodide-compatible wheels.
Browser-based execution: All Python code runs entirely in your browser using WebAssembly. Nothing is sent to a server — your code stays on your machine.
Firefox compatibility: Pyodide may run slower or encounter issues on Firefox. For the best experience, use a Chromium-based browser (Chrome, Edge, Brave).
No filesystem or network access: Pyodide runs in a sandboxed environment. You cannot read/write local files, make HTTP requests, or use sockets.
Limited package support: Only pure-Python packages and select compiled packages (NumPy, Pandas, etc.) are available via micropip. Packages requiring system-level C libraries may not work.
Initial load time: The Pyodide runtime (~15 MB) is downloaded on first visit. Subsequent loads are faster thanks to browser caching.
Memory constraints: Execution is limited by your browser's available memory. Very large datasets or long-running computations may cause the tab to slow down or crash.
No multithreading: Python's threading and multiprocessing modules are not supported in the browser environment.
Your code calls input() . Visualize records the whole run in a single pass, so enter the values now — one per line , in the order the program asks for them.
If the program asks for more values than you supply, it stops with an EOFError .
Editor Settings