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.