Learn to code with JavaScript projects for beginners
Stop following endless tutorials that leave you unable to code on your own. Frontend Mentor provides professionally designed JavaScript projects that teach through hands-on building, not passive watching. Each project comes with Figma designs, starter code, and a supportive community of over 1 million developers.
Start building free
Join 1,092,239 developers building projects, reviewing code, and helping each other improve.
Testimonials
"I highly recommend Frontend Mentor. Skip the search for project ideas and dive into ready-made challenges that help you level up as a developer."

"Frontend Mentor is a win-win. You can sharpen your skills building websites and add finished projects to your portfolio to help land a job!"


Learn JavaScript by building real projects
Even as a beginner, you can dive into JavaScript with Frontend Mentor. Instead of endless tutorials, you’ll build real projects with professional designs, helpful resources, and clear difficulty levels from Newbie to Guru. The community supports you along the way, so you can focus on coding, problem-solving, and gaining practical skills that stick.
How to start your first JavaScript project today
Pick a project below that matches your current skill level.
Build it from scratch—don’t just copy-paste code. Make it your own.
Push to GitHub and share your work.
Iterate: Add features, refactor your code, try different approaches.
Want feedback? Submit your project for community review on Frontend Mentor.
Master core JavaScript concepts
Start your journey with projects that teach DOM manipulation, event handling, and basic interactivity. Perfect for absolute beginners, these challenges help you understand how JavaScript brings websites to life through simple interactivity.
- Free
Interactive rating component
- HTML
- CSS
- JS
1newbieThis is a nice, small project to practice handling user interactions and updating the DOM. Perfect for anyone who has learned the basics of JavaScript!
- Free
FAQ accordion
- HTML
- CSS
- JS
1newbieIn this challenge, you'll build an FAQ accordion. This is an extremely common front-end pattern, so it's an excellent opportunity to get some practice in!
- Free
Article preview component
- HTML
- CSS
- JS
1newbiePractice your layout skills with this article preview component. There's lots of fun to be had playing around with animations for the sharing icons as well.
- Free
Ping single column coming soon page
- HTML
- CSS
- JS
1newbieThis challenge is great for beginners and offers a chance to practice basic client-side form validation.
- Premium
Pod request access landing page
- HTML
- CSS
- JS
1newbieIn this challenge, you'll be building out an early access landing page that includes custom form validation.
- Free
Age calculator app
- HTML
- CSS
- JS
2juniorThis challenge is designed to sharpen your JavaScript and form validation skills. Working with dates in JavaScript can be tricky, so this will be a nice test!
- Free
Tip calculator app
- HTML
- CSS
- JS
2juniorThis small app is perfect for anyone starting to get to grips with JavaScript. The calculator functionality will be a nice test!
- Free
Mortgage repayment calculator
- HTML
- CSS
- JS
2juniorThis mortgage calculator is an excellent project for practicing working with forms, client-side validation, and updating the DOM. Remember to focus on accessibility, too!
Work with APIs and dynamic data
Build projects that fetch and display real-world data from APIs. Learn to handle asynchronous JavaScript, work with JSON, and create dynamic interfaces that update based on external data sources. These challenges introduce you to promises, fetch requests, and managing loading states.
- Free
Expenses chart component
- HTML
- CSS
- JS
2juniorIn this challenge, you'll create a bar chart component from scratch. We provide a local JSON file, so you can add the chart data dynamically if you choose.
- Free
Time tracking dashboard
- HTML
- CSS
- JS
2juniorA perfect opportunity to practice your CSS Grid skills. For anyone wanting to take it up a notch, we provide a JSON data file to practice working with data.
- Free
Product list with cart
- HTML
- CSS
- JS
2juniorPractice updating the UI in multiple places based on user actions. The starter download also includes a JSON file to help you practice populating the DOM dynamically.
- Free
Advice generator app
- HTML
- CSS
- JS
- API
2juniorThe perfect project if you're learning how to interact with 3rd-party APIs. This challenge uses the Advice Slip API to generate random quotes of advice.
- Premium
GitHub user search app
- HTML
- CSS
- JS
- API
2juniorIn this project, you'll use the GitHub users API to pull profile data and display it. It's a great challenge if you're looking to practice working with a 3rd-party API.
- Free+
Weather app
- HTML
- CSS
- JS
- API
3intermediateBuild a responsive weather app with search functionality, unit conversion, and detailed forecasts using the Open-Meteo API.
- Free
IP Address Tracker
- HTML
- CSS
- JS
- API
3intermediateIn this challenge, you'll be using two separate APIs together to create an IP Address Tracking app.
- Premium
Clock app
- HTML
- CSS
- JS
- API
3intermediateThis challenge will have you working with external APIs to set data based on a visitor's location. You'll also be using logic to set content depending on the time of day.
- Premium
Dictionary web app
- HTML
- CSS
- JS
- API
3intermediateIn this project, you'll integrate with the Dictionary API to create a real-world dictionary web app. Additional tests include colour themes and font selection.
- Premium
Recipe finder website
- HTML
- CSS
- JS
3intermediateBuild a responsive recipe finder with search, filtering, and dynamic content. Practice working with JSON data, complex layouts, and interactive JavaScript features.
Build interactive applications with state
Create more complex projects that require managing application state across multiple components. Master form validation, local storage, and building features like filters, sorting, and search functionality. These challenges help you think about data flow and user interactions in larger applications.
- Free
Contact form
- HTML
- CSS
- JS
2juniorBuilding accessible forms is a crucial task for front-end developers. This challenge will help you practice building a form with several input types and validation.
- Free
Browser extension manager UI
- HTML
- CSS
- JS
2juniorThis project will be a fun way to practice working with dynamic data, filtering data, color theming, building a responsive grid, and more!
- Premium
Password generator app
- HTML
- CSS
- JS
3intermediateThis app will be an excellent test of your HTML, CSS, and JS skills. You'll build custom form controls and use JavaScript to generate random passwords.
- Free
Interactive comments section
- HTML
- CSS
- JS
3intermediateThis is project will put your JavaScript skills to the test. We provide a JSON file to pull the data, but it's also a perfect project to build as a full-stack CRUD app!
- Premium
Frontend Quiz app
- HTML
- CSS
- JS
3intermediateThis app will test your skills (as well as your knowledge!) as you build out a fully functional quiz. We provide a local JSON file to help you practice working with JSON!
- Premium
Tic Tac Toe game
- HTML
- CSS
- JS
3intermediateThis classic practice project for web developers is a great exercise to complete. It will test your HTML semantics, your grid layout skill, as well as your JS logic.
- Free
Rock, Paper, Scissors game
- HTML
- CSS
- JS
4advancedThis challenge will test your HTML, CSS and JavaScript skills. There's even a Rock, Paper, Scissors, Lizard, Spock version if you really want to challenge yourself.
- Premium
Connect Four game
- HTML
- CSS
- JS
4advancedYour JS knowledge will be challenged in this fun project, where you'll build a two-player game. You'll write the logic for the game and how to test for win conditions.
Implement advanced patterns and features
Tackle projects that combine multiple JavaScript concepts into cohesive applications. Work with timers, drag-and-drop, animations, and multi-step processes. These challenges prepare you for real-world development by teaching you to structure code efficiently and handle edge cases.
- Free
Todo app
- HTML
- CSS
- JS
3intermediateThe classic todo app with a few twists! This app includes a dark/light theme toggle and drag & drop reordering for anyone wanting an extra test.
- Premium
Pomodoro app
- HTML
- CSS
- JS
4advancedThis Pomodoro app will provide some tricky challenges, including building a circular progress bar. You'll also build a range of customizations, like colors and fonts.
- Free
REST Countries API with color theme switcher
- HTML
- CSS
- JS
- API
4advancedIf you're wanting to test your JavaScript skills this is the challenge for you. Use whichever JS framework you prefer and pull data from the REST Countries API.
- Premium
Devjobs web app
- HTML
- CSS
- JS
4advancedBuild a jobs board that pulls data from a local JSON file. This is a great opportunity to practice JS and get to grips with a framework/library of your choice!
- Free
Multi-step form
- HTML
- CSS
- JS
4advancedAn excellent test for your form-building and JS skills, this project will pose many challenges along the way to completion.
- Premium
Hangman game
- HTML
- CSS
- JS
4advancedThis project is a great all-around test. You'll need good HTML to ensure accessible navigation. There are many tricky CSS details, and the game logic will test your JS.
Why Frontend Mentor for beginner JavaScript projects?
We're not just another tutorial site. Our approach is proven to help developers build real skills that translate directly to job requirements.
Professional designs included
Skip the design phase and focus on coding. Every project comes with Figma files and style guides from professional designers.
Code reviews & feedback
Get constructive feedback from our community of 1,000,000+ developers. Learn best practices and improve your code quality.
Portfolio-ready projects
Every completed project can be added to your portfolio with live demos and GitHub repos that impress recruiters.
Frequently Asked Questions
- What are good JavaScript projects for beginners?
Good beginner JavaScript projects focus on DOM manipulation, event handling, and basic interactivity. Examples include interactive cards, simple calculators, FAQ accordions, and tip calculators. These projects teach fundamental concepts without overwhelming complexity, allowing you to build confidence while creating practical, portfolio-worthy work.
- How long does it take to learn JavaScript as a beginner?
Most beginners can grasp JavaScript fundamentals in 3-6 months with consistent practice. However, building real projects accelerates learning significantly. By working on hands-on challenges, you'll understand concepts faster than studying theory alone. Start with simple interactive projects and gradually increase complexity as your skills develop.
- Do I need to know HTML and CSS before learning JavaScript?
Yes, you should learn HTML and CSS basics before JavaScript. JavaScript manipulates HTML elements and CSS styles to create interactivity, so understanding these foundations is essential. If you're comfortable creating static web pages with HTML and CSS, you're ready to start adding JavaScript functionality.
- What's the difference between Frontend Mentor and coding tutorials?
Frontend Mentor provides real-world project briefs with professional designs, while tutorials walk you through step-by-step instructions. With Frontend Mentor, you build projects independently using provided designs, mimicking actual development work. This approach develops problem-solving skills and portfolio pieces, rather than just following along with a video.
- Are Frontend Mentor projects good for my portfolio?
Yes, Frontend Mentor projects are excellent for portfolios. Each challenge includes professional designs and real-world requirements that demonstrate your skills to employers. Unlike tutorial projects that many developers complete identically, your Frontend Mentor solutions showcase your unique problem-solving approach and coding style.
- Can I use Frontend Mentor projects for free?
Yes, Frontend Mentor offers many free projects, including beginner JavaScript challenges. Free projects include design images, project briefs, and community support. Pro membership unlocks additional features, including Figma design file access, premium challenges, and AI-powered code reviews for all solutions. However, you can still build a strong portfolio with free challenges alone.
Join 1,092,239 people building portfolio-worthy projects
Our highly supportive, positive community is here to help you improve your skills. We all try to help each other out wherever possible. We’d love to welcome you to our community!
Log in with GitHubRelated pages
Beginner HTML & CSS projects
Practice basic HTML & CSS with simple, beginner-friendly projects to build your skills and confidence.
JavaScript projects
Learn JavaScript by building real projects. From beginner-friendly mini projects and API work all the way up to fully-functional multi-page web apps.