JavaScript Coding Battle

Practise JavaScript with 111 coding challenges across 12 topics. Write code in the browser, run it against real test cases, and track your streak, XP and badges.

Categories

Frequently asked questions

Is JavaScript Coding Battle free?
Yes. All 111 problems are free, with no payment and no sign-up beyond entering a display name so your progress can be saved.
Do I need to install anything?
No. Everything runs in your browser — the editor, the tests and your progress. Your code executes in a sandboxed Web Worker, so it never leaves your machine.
How many problems are there?
There are 111 problems across 12 categories: basic logic, loops, strings, arrays, maths, conditionals, recursion, objects, functional programming, number theory, data structures and bit manipulation. Each is rated Easy, Medium or Hard.
How is my code checked?
Each problem ships with its own test cases. When you press Run tests, your function is called with every input and the result is compared against the expected value. Pass all of them and the problem is marked solved.
What is the problem of the day?
One problem chosen from the full set for that calendar date. Everyone gets the same one on the same day, and solving any problem keeps your streak alive.
How do streaks work?
Solve at least one problem on a given day and your streak grows by one. It stays alive through the following day, so missing two days in a row is what resets it.
How is XP calculated?
Easy problems are worth 10 XP, Medium 25 and Hard 50. XP accumulates across seven ranks, from Recruit up to Grandmaster.
Can I earn a certificate?
Yes. Completing every problem in a category earns a certificate for that category, and completing all 111 earns a full completion certificate. Both can be printed.
Is my progress saved?
Yes. Solved problems, streak and XP are saved to your profile, with a copy kept on your device so the app keeps working if the connection drops.