Skip to main content Accessibility Feedback

JavaScript training for beginners and aspiring developers.

Learn how to solve problems, build your own JavaScript projects from scratch, and get support when you feel stuck.

🔥 Cyber Monday Sale (extended)! Join today and get 50% off your Lean Web Club membership for the first six months. This sale ends this week, so don't wait!

Get really good at JavaScript

  • 25 Courses
  • 500+ Quick Guides
  • 61 Code Snippets
  • 24/7 Peer Chat

Learn how to solve problems and build your own projects from scratch with unlimited to access to courses, quick reference guides, and copy/paste code snippets.

  • Watch and read short, focused courses on modern web development.
  • Learn by doing with real projects, including templates and solutions.
  • Build more quickly with templates and boilerplates can you use on your projects.
  • Join a private Discord community of like-minded developers.
Making myself a little web tool and using a whole range of stuff that Chris Ferdinandi’s Vanilla JS Academy taught me.

I struggled with JavaScript for a decade so I really would recommend it for anyone who needs a big friendly confidence-booster.- Laura Kalbag

Courses and workshops made for beginners

Get instant access to 25 self-paced courses and project-based workshops including…

  • DOM Manipulation
  • Strings & Numbers
  • Arrays & Objects
  • Variables, Functions & Scope
  • DOM Injection & Traversal
  • Browser Storage
  • APIs & Asynchronous JS
  • Writing JS Libraries
  • ES Modules
  • Service Workers
  • Web Components
  • State-Based UI
  • Testing JavaScript
  • Accessible Components
  • Serverless
  • Token-Based Authentication
  • Terminal & the Command Line
  • And more...

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

Tired of tutorials? Want to really dig in and work with other developers on how to become a vanilla JS badass? I can't tell you how much I've learned.- Ben Rudolph

Work on fun projects!

Grow your portfolio and build a wide range of fun projects, including…

Toggle Password Visibility
Show and hide passwords by toggling a checkbox field.
Word Count
Count the number of words and characters in a block of text as the user types.
Random Ron
Show random Ron Swanson quotes on a website using an API.
Dragon Trainer Magazine
Create a magazine website by combing several APIs from Dragon Trainer Magazine.
Find the Monsters
Create a fun game where you find your monster friends and avoid the sock.
Form Saver
Automatically save form data as a user types and reload it on future visits.
This program is super hands-on. I always wanted to learn how to make my own libraries, or to know how jQuery library works. Async, Promises and Fetch was another huge one for me, that I used in my projects right away.

It gave me a lot of confidence as a developer, I wish I had a training like this when I started. It got me much closer to my goal of becoming a senior front-end dev.- Maria Blair

Over 500 guides and code snippets at your fingertips

Need to quickly look up how to do something? You get instant access to a library of 500+ short, focused reference guides on a wide range of topics.

Build JavaScript projects a bit faster with 60+ hand-picked boilerplates, helper functions, and libraries that you can copy/paste into your projects.

⭐️ Bookmark your favorites for quick access later.

View a Sample Lesson

Array Destructuring

Imagine you had an array of lunch items, and you wanted to pull them out into individual variables for the entree, drink, side, and desert.

You could use bracket notation to get those items.

let lunch = ['turkey sandwich', 'soda', 'chips', 'cookie'];

let entree = lunch[0];
let drink = lunch[1];
let side = lunch[2];
let desert = lunch[3];

Destructuring provides a simpler way to do to the same thing.

You define an array of variables, and the destructuring syntax will pull the values at the matching indexes out and assign them to the variables.

let [entree, drink, side, desert] = lunch;

// logs "turkey sandwich"

// logs "chips"

Source Code

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

Don’t go it alone! Get exclusive Discord access.

You get 24/7 access to a private Discord community, where you can chat with other students, get feedback on code, and ask questions to help you get unstuck and deepen your understanding.

Clarity. Brevity. Unpretentious explanation. Care for best practices. Obvious attentiveness. Available to help "unstuck" students. You actually rock, Chris.- Kabolobari Benakole

Join developers from companies like...

Invest in yourself and level-up as a developer

For less than you’d make working 1-hour as a professional web developer, you get unlimited access to 25 courses and workshops, 500+ guides, tons of code snippets, and a supportive Discord community.

  • 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 and more.
  • Follow structured learning paths to grow your skills more quickly.
  • Work on real projects and build your portfolio.
Best investment and course I have taken. If you want a bite sized course that will hold you accountable take this course. I have reduced the amount I Google and use Stackexchange by 50% and actually feel like I understand what I am coding.- Walter Jenkins

Your 100% Money-Back Guarantee

Don’t put off learning how build a simpler, more resilient web! If you’re not 100% satisfied with the Lean Web Club, let me know and I’ll give you a full refund for your last month of access.

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.

Stuff students have said…

In terms of knowledge gained per effort expended, this course is hands down the best I've ever tried. More than just the content, it is the growing confidence that maybe even I can actually do this. I feel like I am beginning to know what I don't know. That is huge. Well done.- Stewart Davis
Honestly, the projects so far plus seeing your examples have helped me learn so much faster.- Craig Haggart
Your course provided the impetus to knuckle down and challenge myself. You got me writing code (not merely reading about it or watching videos).

Having a caring, well-spoken guide such as yourself made it fun to work through the projects. Having that in a group all tackling the same projects added that dynamic aspect that also got me moving.

Some specific things I liked: The fabulously well-crafted projects/challenges. The clarity of your teaching (videos, in-code comments, etc.). The supportive Slack channels. The feeling that no question is a dumb question -- and the thrill of having a dialogue going permitting sharing tidbits with others.

No tutorial or other tutorial provides that environment.- Ron Amick
Having your interaction is priceless. Such added value.- Elliott Porter
After going through this program, I found that using vanilla JS, you can accomplish A LOT more than the larger dev community would lead you to believe.- Zac Heisey
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
We need more people like Chris, who not only have this mindset that we need to stick to the basics of JavaScript, but are willing to evangelize it.- David Walsh
Can you actually create a website without JS frameworks? Yes! Here's a collection of resources to get started.- Ed Rivas
God, you're amazing... I'm learning so much from you.- Mojtaba Seyedi, Front End Developer
I recommend Chris Ferdinandi to all JavaScript learners :)- Alex Muraro
Shout out to Chris Ferdinandi's blog that keeps coming up whenever I google anything vanilla JS. Nice little tips every day.- Wes Bos

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