Enjoy 20% off all plans by
following us on social media
. Check out other
promotions
!
Dismiss
Interviews
Dashboard
Practice questions
Guides
Pricing
Sign in / up
Get full access
Practice by Framework
90+ questions
JavaScript
HTML
CSS
React
Angular
Vue
Svelte
HTML Questions
90+ HTML interview questions, including quiz-style knowledge questions and HTML coding questions.
Try these popular HTML questions
Contact Form
Build a contact form which submits user feedback and contact details to a back end API
Available frameworks
Digital Clock
Build a 7-segment digital clock that shows the current time
Available frameworks
getElementsByTagName
Implement a function to get all DOM elements that match a tag
Languages
HTML
JS
TS
Coding
Quiz
Coding Format
User Interface
JavaScript Utilities
Search coding questions
Sort by
Number of questions
70 questions
Total time
29 hours total
Questions List
Counter
Warm up question
Build a simple counter that increments whenever a button is clicked
Difficulty
Easy
Available frameworks
Users completed
20893 completed
Contact Form
Build a contact form which submits user feedback and contact details to a back end API
Difficulty
Easy
Available frameworks
Users completed
11212 completed
Holy Grail
Build the famous holy grail layout consisting of a header, 3 columns, and a footer
Difficulty
Easy
Available frameworks
Users completed
8750 completed
Mortgage Calculator
Build a calculator that computes the monthly mortgage for a loan
Difficulty
Easy
Available frameworks
Users completed
2354 completed
Tabs
Build a tabs component that displays a list of tab elements and one associated panel of content at a time
Difficulty
Medium
Available frameworks
Users completed
3791 completed
Data Table
Build a users data table with pagination features
Difficulty
Medium
Available frameworks
Users completed
363 completed
Dice Roller
Build a dice roller app that simulates the results of rolling 6-sided dice
Difficulty
Medium
Available frameworks
Users completed
169 completed
File Explorer
Build a file explorer component to navigate files and directories in a tree-like hierarchical viewer
Difficulty
Medium
Available frameworks
Users completed
214 completed
Modal Dialog
Build a reusable modal dialog component that can be opened and closed
Difficulty
Medium
Available frameworks
Users completed
221 completed
Todo List
Build a Todo list that lets users add new tasks and delete existing tasks
Difficulty
Medium
Available frameworks
Users completed
4731 completed
Traffic Light
Build a traffic light where the lights switch from green to yellow to red after predetermined intervals and loop indefinitely
Difficulty
Medium
Available frameworks
Users completed
2065 completed
Digital Clock
Build a 7-segment digital clock that shows the current time
Difficulty
Medium
Available frameworks
Users completed
1248 completed
Image Carousel
Build an image carousel that displays a sequence of images
Difficulty
Medium
Available frameworks
Users completed
170 completed
Job Board
Build a job board that displays the latest job postings from Hacker News
Difficulty
Medium
Available frameworks
Users completed
1513 completed
Accordion
Build an accordion component that a displays a list of vertically stacked sections with each containing a title and content snippet
Difficulty
Easy
Available frameworks
Users completed
2792 completed
Flight Booker
Build a component that books a flight for specified dates
Difficulty
Easy
Available frameworks
Users completed
1630 completed
Generate Table
Generate a table of numbers given the rows and columns
Difficulty
Easy
Available frameworks
Users completed
1476 completed
jQuery.css
Implement a jQuery-like function that sets the style of a DOM element
Difficulty
Easy
Languages
HTML
CSS
JS
TS
Users completed
2399 completed
Progress Bar
Build a progress bar component that shows the percentage completion of an operation
Difficulty
Easy
Available frameworks
Users completed
2445 completed
Progress Bars
Build a list of progress bars that fill up gradually when they are added to the page
Difficulty
Easy
Available frameworks
Users completed
1429 completed
Temperature Converter
Build a temperature converter widget that converts temperature values between Celsius and Fahrenheit
Difficulty
Easy
Available frameworks
Users completed
2019 completed
Tweet
Build a component that resembles a Tweet from Twitter
Difficulty
Easy
Available frameworks
Users completed
1178 completed
Accordion II
Build an accessible accordion component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
632 completed
Accordion III
Build a fully accessible accordion component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
338 completed
Analog Clock
Build an analog clock where the hands update and move like a real clock
Difficulty
Medium
Available frameworks
Users completed
517 completed
Data Table II
Build a users data table with sorting features
Difficulty
Medium
Available frameworks
Users completed
92 completed
File Explorer II
Build a semi-accessible file explorer component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
34 completed
File Explorer III
Build a file explorer component using a flat DOM structure
Difficulty
Medium
Available frameworks
Users completed
27 completed
getElementsByStyle
Implement a function to get all DOM elements that are rendered using the specified style
Difficulty
Medium
Languages
HTML
CSS
JS
TS
Users completed
99 completed
getElementsByTagName
Implement a function to get all DOM elements that match a tag
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
1599 completed
Grid Lights
Build a grid of lights where the lights deactivate in the reverse order they were activated
Difficulty
Medium
Available frameworks
Users completed
827 completed
HTML Serializer
Implement a function to serialize an object into an HTML string with indentation
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
430 completed
Identical DOM Trees
Implement a function to determine if two DOM trees are the same
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
847 completed
jQuery Class Manipulation
Implement a set of jQuery-like functions that manipulates classes on a DOM element
Difficulty
Medium
Languages
HTML
CSS
JS
TS
Users completed
591 completed
Like Button
Build a Like button that changes appearance based on the states
Difficulty
Medium
Available frameworks
Users completed
949 completed
Modal Dialog II
Build a semi-accessible modal dialog component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
45 completed
Modal Dialog III
Build a moderately-accessible modal dialog component that supports common ways to close the dialog
Difficulty
Medium
Available frameworks
Users completed
36 completed
Progress Bars II
Build a list of progress bars that fill up gradually in sequence, one at a time
Difficulty
Medium
Available frameworks
Users completed
565 completed
Star Rating
Build a star rating component that shows a row of star icons for users to select the number of filled stars corresponding to the rating
Difficulty
Medium
Available frameworks
Users completed
1814 completed
Tabs II
Build a semi-accessible tabs component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
382 completed
Tabs III
Build a fully accessible tabs component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
243 completed
Text Search
Implement a function to highlight text if a searched term appears within it
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
745 completed
getElementsByClassName
Implement a function to get all DOM elements that contain the specified classes
Difficulty
Medium
Languages
HTML
CSS
JS
TS
Users completed
816 completed
Progress Bars III
Build a list of progress bars that fill up gradually concurrently, up to a limit of 3
Difficulty
Medium
Available frameworks
Users completed
374 completed
Text Search II
Implement a function to highlight text if searched terms appear within it
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
278 completed
Tic-tac-toe
Build a tic-tac-toe game that is playable by two players
Difficulty
Medium
Available frameworks
Users completed
634 completed
Birth Year Histogram
Build a widget that fetches birth year data from an API and plot it on a histogram
Difficulty
Medium
Available frameworks
Users completed
21 completed
Connect Four
Build a game for two players who take turns to drop colored discs from the top into a vertically suspended board/grid
Difficulty
Medium
Available frameworks
Users completed
17 completed
Image Carousel II
Build an image carousel that smoothly transitions between images
Difficulty
Medium
Available frameworks
Users completed
33 completed
Pixel Art
Build a pixel art drawing tool where users can paint pixels with selected colors
Difficulty
Medium
Available frameworks
Users completed
20 completed
Signup Form
Build a signup form that does validation on user details and submits to a back end API
Difficulty
Medium
Available frameworks
Users completed
623 completed
Stopwatch
Build a stopwatch widget that can measure how much time has passed
Difficulty
Medium
Available frameworks
Users completed
474 completed
Transfer List
Build a component that allows transferring of items between two lists
Difficulty
Medium
Available frameworks
Users completed
498 completed
Undoable Counter
Build a counter with a history of the values and ability to undo/redo actions
Difficulty
Medium
Available frameworks
Users completed
380 completed
Users Database
Build a UI to filter, create, update, and delete users
Difficulty
Medium
Available frameworks
Users completed
46 completed
Whack-A-Mole
Build a popular arcade game where players attempt to hit moles as they pop up from holes in a board
Difficulty
Medium
Available frameworks
Users completed
194 completed
Memory Game
Build a memory game where the player needs to match pairs of cards
Difficulty
Medium
Available frameworks
Users completed
219 completed
Auth Code Input
Build an auth code input component that allows users to enter a 6-digit authorization code
Difficulty
Hard
Available frameworks
Users completed
26 completed
Progress Bars IV
Build a list of progress bars that fill up gradually concurrently, up to a limit of 3 and allows for pausing and resuming
Difficulty
Hard
Available frameworks
Users completed
179 completed
Data Table III
Build a generalized data table with pagination and sorting features
Difficulty
Hard
Available frameworks
Users completed
21 completed
getElementsByTagNameHierarchy
Implement a function to get all DOM elements that match a tag hierarchy
Difficulty
Hard
Languages
HTML
JS
TS
Users completed
20 completed
Modal Dialog IV
Build a fully-accessible modal dialog component that supports all required keyboard interactions
Difficulty
Hard
Available frameworks
Users completed
15 completed
Table of Contents
Implement a function to construct a table of contents from an HTML document
Difficulty
Hard
Languages
HTML
JS
TS
Users completed
253 completed
Data Table IV
Build a generalized data table with pagination, sorting and filtering features
Difficulty
Hard
Available frameworks
Users completed
11 completed
Image Carousel III
Build an image carousel that smoothly transitions between images that has a minimal DOM footprint
Difficulty
Hard
Available frameworks
Users completed
12 completed
Nested Checkboxes
Build a nested checkboxes component with parent-child selection logic
Difficulty
Hard
Available frameworks
Users completed
17 completed
Selectable Cells
Build an interface where users can drag to select multiple cells within a grid
Difficulty
Hard
Available frameworks
Users completed
10 completed
Tic-tac-toe II
Build an N x N tic-tac-toe game that requires M consecutive marks to win
Difficulty
Hard
Available frameworks
Users completed
141 completed
Transfer List II
Build a component that allows transferring of items between two lists, bulk selection/unselection of items, and adding of new items
Difficulty
Hard
Available frameworks
Users completed
144 completed
Wordle
Build Wordle, the word-guessing game that took the world by storm
Difficulty
Hard
Available frameworks
Users completed
93 completed