On this page
- Quick picks
- How we picked
- Start with guided lessons
- 1. MDN Learn
- 2. freeCodeCamp
- 3. The Odin Project
- 4. JavaScript.info
- 5. Codecademy
- Practise by solving problems
- 6. Scrimba
- 7. Exercism
- 8. Codewars
- 9. HackerRank
- 10. JS Challenger
- Keep a reference and build projects
- 11. Eloquent JavaScript
- 12. JavaScript for Cats
- 13. Google Chrome DevTools tutorials
- 14. You Don't Know JS Yet
- 15. GitHub Skills
- How to choose the right one
- Key takeaways
JavaScript can make a web page respond to clicks, update content, and communicate with services. These resources suit curious beginners, students, and people who want to add practical coding skills without paying for a course.
Some teach concepts in order; others are reference books or interactive puzzles. Pick one main course, write code alongside it, and keep a reference nearby for questions that arise in your own small projects.
Quick picks
- Best overall: MDN Learn — structured lessons backed by a dependable reference.
- Best for hands-on practice: freeCodeCamp — exercises and projects in the browser.
- Best for visual learners: JavaScript.info — detailed explanations with examples.
- Best for a first taste: Codecademy — guided interactive lessons.
How we picked
We chose established resources that explain real JavaScript rather than promising instant expertise. A useful learning path should let you practise and revisit material. Compare:
- Structure: does it take you from fundamentals to useful projects?
- Practice: can you run code and learn from mistakes?
- Accuracy: is the material maintained by a credible publisher?
- Pace: can you study in short sessions without losing context?
- Cost: check which lessons or certificates remain free.
Start with guided lessons
1. MDN Learn
MDN Learn provides a carefully organised starting path covering variables, decisions, functions, arrays, and browser scripting. Its explanations connect JavaScript to HTML and CSS, which helps when your goal is a working web page rather than isolated puzzles. The material is thorough, so a newcomer may want to follow its suggested sequence rather than jump between reference pages. Free.
Best for: beginners who want a sound foundation and a trustworthy reference.
2. freeCodeCamp
freeCodeCamp combines short lessons with browser-based challenges and larger certification projects. The immediate feedback makes it easier to notice a missing bracket or misunderstood condition before moving on. Its curriculum is broad and can feel like a long checklist; pause to build a personal page so exercises turn into something memorable. Free.
Best for: self-directed learners who benefit from lots of small coding tasks.
3. The Odin Project
The Odin Project frames JavaScript study within a wider web-development curriculum, including reading, terminal use, Git, and portfolio projects. That context is valuable if you hope to build complete sites rather than only learn syntax. It expects persistence and independent problem-solving, so it is less suitable for someone looking for a quick, fully guided video course. Free and open source.
Best for: motivated learners preparing to build and publish web projects.
4. JavaScript.info
JavaScript.info walks through language basics and browser features in chapters that pair plain explanations with examples. It is particularly useful when a concept such as closures or promises needs a second explanation after a video lesson. The depth can be demanding for a first coding experience, and there is no built-in classroom pacing. Free.
Best for: readers who like detailed explanations they can revisit.
5. Codecademy
Codecademy introduces programming through an in-browser editor and step-by-step prompts, so there is little setup before the first exercise. JavaScript lessons offer a gentle sense of progress and suit short study sessions. Some learning paths and features sit behind a subscription, and completing prompts alone does not replace making an independent project. Free plan with paid upgrades.
Best for: newcomers who want immediate, guided practice in a browser.
Practise by solving problems
6. Scrimba
Scrimba teaches through interactive screencasts in which learners can pause a lesson and edit the code being demonstrated. That makes examples feel less distant than a video you can only watch. Its catalogue mixes free and paid material, and learners still need to revisit concepts without the instructor's prompts. Free plan with paid upgrades.
Best for: visual learners who want to experiment while following a lesson.
7. Exercism
Exercism offers JavaScript exercises with a focus on writing and improving small pieces of code. Its community and mentoring options can help learners think beyond whether a solution merely passes a test. The exercise format assumes some familiarity with basics, and it does not teach web-page layout or browser design on its own. Free.
Best for: learners ready to practise clean solutions after an introductory course.
8. Codewars
Codewars turns short programming challenges into ranked kata, with solutions to compare after attempting a problem. It can make regular practice enjoyable and expose you to different ways of thinking about arrays, strings, and functions. The puzzle-first format can reward clever tricks over readable everyday code, so beginners should not treat rank as a substitute for project work. Free, with optional paid features.
Best for: developers who enjoy bite-sized logic puzzles.
9. HackerRank
HackerRank includes JavaScript challenges that let you practise problem solving in an online editor. It is useful for sharpening fundamentals and getting comfortable with timed coding questions. Many challenges focus on algorithms rather than interactive websites, so pair it with a browser-based project if front-end development is your aim. Free.
Best for: learners preparing for coding assessments and algorithm practice.
10. JS Challenger
JS Challenger presents bite-sized JavaScript problems that build familiarity with values, conditions, and functions. A learner can attempt a task, inspect an answer, and move to a related challenge without installing software. The narrow exercise format is not a complete curriculum, and you will need another source for browser APIs and larger applications. Free.
Best for: beginners who want quick practice between longer lessons.
Keep a reference and build projects
11. Eloquent JavaScript
Eloquent JavaScript is a free online book that introduces programming through carefully developed chapters and substantial exercises. Its explanations reward slow reading and help learners understand why code behaves as it does. The book assumes patience and can feel abstract when you have never made a web page, so alternate chapters with hands-on browser work. Free.
Best for: thoughtful readers who want to understand programming concepts deeply.
12. JavaScript for Cats
JavaScript for Cats is a short, informal introduction that uses approachable examples to introduce basic ideas. Its light tone can lower the barrier for someone who finds conventional manuals intimidating. It is brief and not a current, comprehensive course, so use it as a first look rather than relying on it for modern browser development. Free.
Best for: curious first-timers who want a friendly overview.
13. Google Chrome DevTools tutorials
Chrome for Developers explains how to inspect pages, run snippets, and debug JavaScript in the browser. Knowing how to read a console error is a practical skill that makes every other course more useful. DevTools documentation is a tool guide, not a step-by-step language curriculum, and some examples are specific to Chrome. Free.
Best for: learners who want to understand and fix code running in a browser.
14. You Don't Know JS Yet
You Don't Know JS Yet is an open-source book series that digs into how JavaScript works, including scope and types. It is a strong next step when familiar syntax still feels mysterious. Its technical detail is better suited to someone who has already written code; start with its introductory material rather than expecting a beginner course. Open source.
Best for: developers who want to deepen existing JavaScript knowledge.
15. GitHub Skills
GitHub Skills offers short, practical courses that teach GitHub workflows through guided repositories. It is not a JavaScript class, but learning to save and share a project is an important part of turning lessons into portfolio work. The exercises focus on GitHub rather than programming concepts, so pair them with a JavaScript course. Free.
Best for: learners ready to publish and manage their practice projects.
How to choose the right one
If you are entirely new, begin with MDN Learn or freeCodeCamp and write a tiny page that responds to a button click. Add JavaScript.info when you want a deeper explanation, and choose one challenge site for practice rather than opening several at once. When a pattern involves text matching, our regex tester can help you experiment with regular expressions; it does not replace learning how to validate input safely. For a broader view of practical developer resources, visit our development hub and browse free resources for additional tools and learning materials.
Key takeaways
- Choose one structured course and keep a reference for questions.
- Type and change examples instead of only watching lessons.
- Make small browser projects to connect JavaScript with HTML.
- Treat challenge scores as practice, not proof of job readiness.
- Learn debugging and version control alongside language basics.
Reach designers & developers at work
Put your product next to the tools people use every day. One sponsor per placement, no tracking pixels.
Become a sponsor