JavaScript.info
The Modern JavaScript Tutorial by Ilya Kantor is a free online course that teaches JavaScript from the basics through objects, prototypes, closures, classes, promises, async/await and modules, then covers the browser's document model and events. Most chapters end with tasks and solutions. It suits beginners who want a thorough written path and developers whose JavaScript came from framework tutorials and who keep hitting confusing bugs.
25.5k (en.javascript.info)
GitHub · Sept 2026
July 2026
GitHub · Sept 2026
13+ languages
javascript.info · Sept 2026
Free online; EPUB/PDF sold
javascript.info · Sept 2026
Guide
Web Development
Ilya Kantor
2 to 3 months
All
Free
How it is organised
The tutorial is split into three parts:
- The JavaScript language: fundamentals, code quality, objects, data types, advanced functions (closures, scope, the value of this), property configuration, prototypes and inheritance, classes, error handling, promises and async/await, generators, and modules.
- Browser: document, events, interfaces: the DOM, events and event delegation, UI events, forms, and how documents and resources load.
- Additional articles: frames and windows, binary data and files, network requests, browser storage, animation, web components and regular expressions.
It is free to read online and has been translated into many languages. EPUB and PDF versions are sold separately if you want to read offline.
Why it is worth working through properly
Most developers pick up JavaScript by absorption through a framework. That leaves predictable gaps: prototypes, how this is bound, closures, the event loop and how promises are scheduled. Those gaps show up as bugs that seem to make no sense. This tutorial covers each topic in order, in plain language, with small runnable examples.
How to use it
- Do the tasks. The writing is clear enough that reading feels sufficient, and it is not. Attempt each task before opening the solution.
- Slow down on the hard chapters: advanced functions, prototypes, and promises with async/await. These are the ones most worth a second read.
- Skip ahead only with care. Part 2 assumes Part 1. If you already know the language well, use the chapter list to target your weak spots instead of starting from zero.
- Keep notes in code. A small repository of examples you wrote yourself beats highlighted text.
At an hour or so a day, the language part takes around two to three months for a beginner and a few weeks for someone revising.
Where it fits in a learning path
It teaches the language and the browser, not how to build and structure an application. After Part 1 and the core of Part 2, build a few small projects in plain JavaScript, then move on to a framework such as React. MDN remains the better reference for looking up a specific API; javascript.info is the better place to understand a concept from start to finish.
How active and trusted it is
The English source lives on GitHub, where the javascript-tutorial/en.javascript.info repository had about 25.5k stars and roughly 4,000 forks, with a commit in July 2026, when checked in September 2026. Community translations exist in more than a dozen languages. It is one of the most frequently recommended free JavaScript resources on developer forums, usually alongside MDN and Eloquent JavaScript.
Common questions
Is it good for a complete beginner? Yes, if you like learning by reading. It starts from what JavaScript is and how to run it. Absolute beginners may find the pace of the later language chapters demanding; that is the point to slow down, not to skip.
javascript.info or Eloquent JavaScript? javascript.info is a structured course and reference on the language and browser, easier to dip into by topic. Eloquent JavaScript is a book about programming, with harder exercises and project chapters. Many people use javascript.info to learn the language and Eloquent JavaScript to stretch their thinking.
Does it cover Node.js or frameworks? No. It covers the language and browser APIs only. Use the official Node.js guides and framework documentation for those.
Is it up to date? It covers modern syntax (classes, modules, async/await, optional chaining) and the repository is still maintained, though individual articles are updated at different times.
Best for: beginners who prefer reading to video, and anyone whose JavaScript came from React tutorials.
Ready to start?
Opens on Ilya Kantor in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.