Learn JavaScript to build interactive web pages in five months

Five months of daily practice — about 45 minutes a day on one free book and one tutorial site — gets a beginner to writing real JavaScript that runs in a real browser. Roughly 110 hours total. You will not be a frontend engineer. You will be able to make a static page do something useful.

5 months · ~110 hours · ship two interactive projects with no framework

Weeks 1–8 · 45 min/day

1.Eloquent JavaScript, 4th edition

Marijn Haverbeke's book is the closest thing to a definitive JavaScript text and the entire fourth edition is free on the web with embedded interactive examples. Read chapters 1–12. Do the exercises before peeking at the solutions. The chapters on higher-order functions and asynchronous code are slow going — that is correct, sit with them. Most beginners' frustration with JavaScript later traces back to skipping these.

Free online; $40 paperback if you want one

Eloquent JavaScript →
Weeks 9–14 · 45 min/day

2.The Modern JavaScript Tutorial (javascript.info)

Ilya Kantor's site fills the gaps Eloquent JavaScript leaves: the DOM, events, forms, and the practical mechanics of making things appear on screen. Work through Part 1 (the language reference) and Part 2 (browser). It is updated every few weeks and is the single best free reference once you stop being a complete beginner.

Free online

javascript.info →
Weeks 15–20 · 1 hr/day

3.Build two no-framework projects

Pick two things and make them in plain HTML, CSS, and JavaScript — no React, no build tools. Suggested: a typing-speed game with a timer and accuracy stats; a weather page that hits a free API. The constraint of no framework is the whole point. You will write the loops, the event listeners, and the DOM updates yourself, and that is what makes everything that comes later legible.

Free

MDN reference →

If this doesn't fit you

If you already know HTML and CSS and want a structured curriculum that takes you all the way to employed full-stack developer, do The Odin Project's Full Stack JavaScript path instead. It is free, takes 6–12 months at serious pace, and assumes you will commit to the whole thing. The path above is for the person who wants JavaScript as a tool, not a career.

Why this path

Most beginners are sold on tutorials that hide JavaScript behind React, Tailwind, and Vite before they understand a function. They never recover. Eloquent JavaScript and javascript.info are the two free resources working programmers consistently recommend, and the no-framework projects force you to confront the language directly. Frameworks are easy after the language is solid. The reverse is not true.