Free · No signup · Runs in your browser

Learn. Practice. Run code.

Practise SQL, Python, JavaScript and TypeScript with code that runs in your browser. Learn in short lessons, solve checked exercises and experiment in the playgrounds. Nothing to install.

Here for SQL? The SQL section has 32 tutorials, 42 exercises and a playground →

playground · sample database
Run this query
SELECT c.country,
       COUNT(o.order_id) AS orders,
       ROUND(SUM(o.order_total), 0) AS revenue
FROM Orders o
JOIN Customers c ON c.customer_id = o.customer_id
GROUP BY c.country
ORDER BY revenue DESC;
country orders revenue
United Kingdom321398
Lebanon214043
Norway213891
Peru310685
United States29192
Japan26600
Tanzania12843

● 7 rows returned · executed in your browser, nothing sent anywhere

4 runnable languages
36 lessons and 32 SQL tutorials, each built on the ones before it, with a program to write at the end.
82 checked exercises
40 coding exercises and 42 SQL exercises. Your answer is run against test cases; any correct program passes, not one exact wording.
Every example verified
260 runnable examples in the SQL tutorials and every lesson example were executed before publishing; the output shown is what they printed.
0 cookies, no accounts
Your code and progress never leave your device. Page views are counted cookielessly by our own host, and nothing else runs.

Explore

Popular languages

Start with the one you could picture using next week. Loops, functions and collections are the same ideas everywhere; what you learn transfers.

All 4 runnable languages, with what each is used for →

Practice

Practise by writing real programs

Small, realistic tasks with a starter file and test cases. Filter by language, topic, difficulty and what you have already solved.

Browse all exercises

SQL

SQL, done properly

The SQL section is where this site began, and it is still the deepest part of it: a real SQLite engine in your browser, a structured course, and answers checked by comparing result sets.

32 verified tutorials

From your first SELECT to window functions, with 260 runnable examples and their real output.

42 SQL exercises

Four guided paths; every answer checked by running it against a live sample database.

SQL playground

Five related tables, a schema browser, a formatter and one-click links from every tutorial example.

The SQL course

A five-part curriculum that tells you what to read and what to practise, in order.

Playground

A playground that runs on your device

Write a program, press Run, see the output. SQL, Python, JavaScript, TypeScript execute inside your browser: no server, no account, nothing sent anywhere.

 Python · runs in your browser
orders = [("tea", 3), ("coffee", 5), ("tea", 2)]
totals = {}
for item, qty in orders:
    totals[item] = totals.get(item, 0) + qty
for item in sorted(totals):
    print(f"{item}: {totals[item]}")

Output

coffee: 5
tea: 5
 JavaScript · runs in your browser
const temps = [21.5, 19, 23.25, 18];
const avg = temps.reduce((s, t) => s + t, 0) / temps.length;
console.log(`max ${Math.max(...temps)}, avg ${avg.toFixed(1)}`);
console.log(temps.filter(t => t > avg));

Output

max 23.25, avg 20.4
[ 21.5, 23.25 ]

Open the playground

Go further

Challenges and interview preparation

Coding challenges

6 original problems in strings, arrays, each with examples, progressive hints, a full test set and starter code in several languages.

Interview questions

75 questions across the languages: concepts, predict-the-output, find-the-bug, coding and scenarios, each answer explaining why.

Principles

Why learn here

Verified, not hoped

Scripts run every example and every solution before a change ships. How we verify shows exactly what is checked.

Runs on your device

Where a language runs in the browser it says so; where it does not yet, the page says that instead of faking it.

Original material

Every explanation, scenario and test case was written for this site. No copied question banks.

Nothing to sign up for

Progress lives in your browser and can be exported as a file. No accounts, no cookies, no tracking between visits.

Structure

Learning paths

Each path is a course you read in order. Pick one and follow the numbers.

See every path lesson by lesson →

FAQ

Frequently asked questions

Is everything here free?

Yes. Every tutorial, lesson, exercise and playground is free, with no paywall, trial or account. The site is funded by its owner and, if advertising is ever added, the privacy policy will say so first.

Do I need to sign up or install anything?

No. Open a page and start. SQL, Python, JavaScript and TypeScript run inside your browser; your code and your progress stay on your device.

How are my answers checked?

By running them. An exercise has test cases with inputs and expected outputs; your program is executed against each one and you see exactly which passed, which failed and why. SQL exercises run your query and a reference query against the same sample database and compare the rows.

Are the examples correct?

Every program and query on the site is executed by a script before it is published, with the toolchain named on the page, and the output shown is what it printed. The details are on the How we verify page.

Which languages can I run in the browser?

SQL, Python, JavaScript, TypeScript. The compiler lists only languages that actually run here.