Skip to content

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, no remote execution server

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
The site stores code and progress in this browser. Vercel processes cookieless page-view and performance metrics. Privacy details.

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 without an account. The site does not upload your code for execution.

 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 runnable examples and reference solutions 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; SQL Practice includes file export/import controls. No accounts. Cookieless analytics is disclosed in the Privacy Policy.

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?

Runnable tutorial and lesson examples and exercise and challenge reference solutions are executed by scripts before publication, with the toolchain named on the page. Published output is checked against those runs. Syntax fragments and vendor-specific examples are labelled when they cannot run here. 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.