Skip to main content Accessibility Feedback

A free JavaScript course for beginners.

Get 45 lessons, 7 projects, and 1 rock solid foundation for your JavaScript journey. Build your first JS library in a few hours.

Get Learn JavaScript for FREE

Join over 730 other people, and get instant access to all of the lessons, projects, templates, and source code.

Join developers at companies like...

What you’ll learn

This is a foundational JavaScript course for beginners. There’s no assumed knowledge, confusing terminology, or overly-technical explanations.

You get rock-solid foundation to start your JavaScript journey, including...

  • What JavaScript is, and how it’s different from HTML and CSS.
  • How to load JavaScript and run it in the browser.
  • How to save data to variables.
  • How to get elements on a webpage and detect user interactions with them.
  • How to add or update text on a webpage.
  • How to do math and manipulate numbers with JavaScript.
  • How to combine strings and modify strings.
  • How to loop over collections of elements.
  • How to use if/else logic and compare values.
  • How to use functions to write more readable and maintainable code.
  • What JavaScript libraries are, and how to create your first one.
  • How to add configurable options to libraries for easy reuse across projects.

🧠 Multiple formats for different learning styles. All of the lessons include both written text and streaming HD videos (with captions). Watch or read on any device.

Wanting to learn JavaScript from scratch, make the transition from jQuery or some other library? Already pretty competent and just want to get better?

Chris Ferdinandi has got your back and his learning platform is a *tremendously good value*.- Jonathan Schofield

Build your first JavaScript library

Every few lessons, you’ll work on a small project to reinforce what you just learned. By the end, you’ll have built your first JavaScript library: a temperature converter app that you can use to convert Fahrenheit to Celsius and vice-versa.

Join today for free!

Get Learn JavaScript for FREE

Join over 730 other people, and get instant access to all of the lessons, projects, templates, and source code.

Go from beginner to confident coder

  • Learn modern best practices and code patterns.
  • Spend less time Googling and more time working on cool stuff.
  • Get the skills and confidence to really understand JavaScript.
  • Follow a structured learning path to grow your skills more quickly.
  • Work on real projects and build your portfolio.

A Sample Lesson

How to detect events in the browser with the Element.addEventListener() method.

Hi, I"m Chris Ferdinandi. 👋

Chris Ferdinandi

I help people learn vanilla JavaScript, and I believe there’s a simpler, more resilient way to make things for the web.

I’ve taught developers at organizations like Salesforce and the Boston Globe, and my JavaScript libraries have been used by organizations like Apple and Harvard Business School. My developer tips newsletter is read by over 14k developers each weekday.

I want to help you master vanilla JavaScript, without all of the painful false starts and roadblocks I encountered when I was learning.

Join today for free!

Get Learn JavaScript for FREE

Join over 730 other people, and get instant access to all of the lessons, projects, templates, and source code.

I thank you from the bottom of my heart. If it had not been for you, I would not be able to learn JavaScript.- Patricia Parker
I recommend Chris Ferdinandi to all JavaScript learners :)- Alex Muraro
Clarity. Brevity. Unpretentious explanation. Care for best practices. Obvious attentiveness. Available to help "unstuck" students. You actually rock, Chris.- Kabolobari Benakole
As a front-ender I always found JS difficult and made the mistake "solving" my lack of knowledge with the use of jQuery and a lot of plugins.

When I stumbled over your site and watched the video I had the feeling that for the first time I had an insight how JS works and how to learn it.- Ruud van Zuidam
Very cool! Vanilla JS guru Chris Ferdinandi put together a free self-paced JS educational program with a boatload of super clear resources. Bravo!- Jonathan Stark

Frequently Asked Questions

Do the lessons and projects use new ES6 methods?

Yes. Where applicable, I cover new ES6 functions and browser APIs.

How do I access the course and ebook?

Visit the Student Portal and create an account with the email address you used to make your purchase.

You can download the ebooks and source code any time, and stream your videos or read the tutorials from any device. You can also download the videos for offline viewing.

Do I need any special tools or equipment?

All you need to work with the source code and projects is a modern web browser and a text editor (I recommend VS Code).

Do I need any prior knowledge or experience to learn vanilla JavaScript?

Nope! This is a foundational course for beginners. I'll even walk you through how to run JavaScript in the browser if you've never done that before. If you have any specific questions, though, please email me at

I have another question.

No problem! Send me an email at

God, you're amazing... I'm learning so much from you.- Mojtaba Seyedi, Front End Developer

Not ready yet? Get daily developer tips.

Hate the complexity of modern front‑end web development? I send out a short email each weekday on how to build a simpler, more resilient web. Join over 14k others.

If you have any questions about anything, feel free to send me an email at