Back to Editor

About OnlinePy

A privacy-first Python IDE that runs entirely in your browser. No servers, no ads, no accounts.

We believe coding should be accessible, private, and ad-free. Too many online compilers require accounts, show ads, or send your code to remote servers. OnlinePy is different — your code runs entirely in your browser, not on a remote server.

Technology

70-90%
Native speed
~4GB
Max WASM heap

Powered by Pyodide, which compiles CPython to WebAssembly. Your code executes natively in the browser — no backend, no network round-trip. Uses SharedArrayBuffer for multi-threading and OPFS for package caching.

How it works

  • 1.Pyodide compiles CPython to WebAssembly bytecode
  • 2.Your browser runs this WASM module locally
  • 3.Results display instantly — no network round-trip

Quick Guide

1

Write & Run

Type code in the editor. Click Run or press Ctrl+Enter. Output appears instantly below.

2

Handle Input

When your code calls input(), a prompt appears in the terminal. Type and press Enter.

3

Use Scientific Libraries

Import NumPy, Pandas, Matplotlib, SciPy, or scikit-learn directly. They install automatically.

python
import numpy as np

# Create an array
arr = np.array([1, 2, 3, 4, 5])

# Basic operations
print(f"Mean: {np.mean(arr)}")
print(f"Std: {np.std(arr)}")
print(f"Sum: {np.sum(arr)}")

# Matrix operations
matrix = np.array([[1, 2], [3, 4]])
print(f"\nDeterminant: {np.linalg.det(matrix)}")
4

Visualize Data

Charts render inline. Just call plt.show().

python
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2 * np.pi, 100)
plt.plot(x, np.sin(x))
plt.title("Sine Wave")
plt.show()

FAQ

What Python version does OnlinePy use?▼
CPython 3.13.2 via Pyodide. Matches the latest stable Python release.
Can I install additional packages?▼
Yes. Packages from the Pyodide distribution (NumPy, Pandas, Matplotlib, SciPy, scikit-learn) load automatically. Most pure Python packages on PyPI can also be installed at runtime.
Does it work on mobile?▼
Yes, OnlinePy works on modern mobile browsers. For the best experience, use a desktop or laptop.
Why is the first run slower?▼
The first run downloads the Pyodide runtime (~10MB). Once cached, subsequent visits load almost instantly — even offline.
Can I share my code?▼
Yes. Click Share to generate a URL — anyone with the link can see and run the exact same code.
What happens to my code when I close the browser?▼
Your code is stored locally in your browser. When you return, your previous code is still there. Unless you use the Share feature, your code stays on your device.