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
23316 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
12485 completed
Holy Grail
Build the famous holy grail layout consisting of a header, 3 columns, and a footer
Difficulty
Easy
Available frameworks
Users completed
9731 completed
Mortgage Calculator
Build a calculator that computes the monthly mortgage for a loan
Difficulty
Easy
Available frameworks
Users completed
2702 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
4360 completed
Data Table
Build a users data table with pagination features
Difficulty
Medium
Available frameworks
Users completed
760 completed
Dice Roller
Build a dice roller app that simulates the results of rolling 6-sided dice
Difficulty
Medium
Available frameworks
Users completed
361 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
428 completed
Modal Dialog
Build a reusable modal dialog component that can be opened and closed
Difficulty
Medium
Available frameworks
Users completed
483 completed
Todo List
Build a Todo list that lets users add new tasks and delete existing tasks
Difficulty
Medium
Available frameworks
Users completed
5174 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
2276 completed
Digital Clock
Build a 7-segment digital clock that shows the current time
Difficulty
Medium
Available frameworks
Users completed
1393 completed
Image Carousel
Build an image carousel that displays a sequence of images
Difficulty
Medium
Available frameworks
Users completed
369 completed
Job Board
Build a job board that displays the latest job postings from Hacker News
Difficulty
Medium
Available frameworks
Users completed
1678 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
3074 completed
Flight Booker
Build a component that books a flight for specified dates
Difficulty
Easy
Available frameworks
Users completed
1825 completed
Generate Table
Generate a table of numbers given the rows and columns
Difficulty
Easy
Available frameworks
Users completed
1641 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
2612 completed
Progress Bar
Build a progress bar component that shows the percentage completion of an operation
Difficulty
Easy
Available frameworks
Users completed
2698 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
1579 completed
Temperature Converter
Build a temperature converter widget that converts temperature values between Celsius and Fahrenheit
Difficulty
Easy
Available frameworks
Users completed
2216 completed
Tweet
Build a component that resembles a Tweet from Twitter
Difficulty
Easy
Available frameworks
Users completed
1291 completed
Accordion II
Build an accessible accordion component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
695 completed
Accordion III
Build a fully accessible accordion component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
377 completed
Analog Clock
Build an analog clock where the hands update and move like a real clock
Difficulty
Medium
Available frameworks
Users completed
566 completed
Data Table II
Build a users data table with sorting features
Difficulty
Medium
Available frameworks
Users completed
175 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
72 completed
File Explorer III
Build a file explorer component using a flat DOM structure
Difficulty
Medium
Available frameworks
Users completed
59 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
173 completed
getElementsByTagName
Implement a function to get all DOM elements that match a tag
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
1742 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
907 completed
HTML Serializer
Implement a function to serialize an object into an HTML string with indentation
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
472 completed
Identical DOM Trees
Implement a function to determine if two DOM trees are the same
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
911 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
641 completed
Like Button
Build a Like button that changes appearance based on the states
Difficulty
Medium
Available frameworks
Users completed
1039 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
93 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
78 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
614 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
2023 completed
Tabs II
Build a semi-accessible tabs component that has the right ARIA roles, states, and properties
Difficulty
Medium
Available frameworks
Users completed
423 completed
Tabs III
Build a fully accessible tabs component that has keyboard support according to ARIA specifications
Difficulty
Medium
Available frameworks
Users completed
268 completed
Text Search
Implement a function to highlight text if a searched term appears within it
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
804 completed
getElementsByClassName
Implement a function to get all DOM elements that contain the specified classes
Difficulty
Medium
Languages
HTML
CSS
JS
TS
Users completed
911 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
415 completed
Text Search II
Implement a function to highlight text if searched terms appear within it
Difficulty
Medium
Languages
HTML
JS
TS
Users completed
309 completed
Tic-tac-toe
Build a tic-tac-toe game that is playable by two players
Difficulty
Medium
Available frameworks
Users completed
718 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
42 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
31 completed
Image Carousel II
Build an image carousel that smoothly transitions between images
Difficulty
Medium
Available frameworks
Users completed
68 completed
Pixel Art
Build a pixel art drawing tool where users can paint pixels with selected colors
Difficulty
Medium
Available frameworks
Users completed
43 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
681 completed
Stopwatch
Build a stopwatch widget that can measure how much time has passed
Difficulty
Medium
Available frameworks
Users completed
519 completed
Transfer List
Build a component that allows transferring of items between two lists
Difficulty
Medium
Available frameworks
Users completed
563 completed
Undoable Counter
Build a counter with a history of the values and ability to undo/redo actions
Difficulty
Medium
Available frameworks
Users completed
411 completed
Users Database
Build a UI to filter, create, update, and delete users
Difficulty
Medium
Available frameworks
Users completed
107 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
214 completed
Memory Game
Build a memory game where the player needs to match pairs of cards
Difficulty
Medium
Available frameworks
Users completed
250 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
64 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
208 completed
Data Table III
Build a generalized data table with pagination and sorting features
Difficulty
Hard
Available frameworks
Users completed
38 completed
getElementsByTagNameHierarchy
Implement a function to get all DOM elements that match a tag hierarchy
Difficulty
Hard
Languages
HTML
JS
TS
Users completed
39 completed
Modal Dialog IV
Build a fully-accessible modal dialog component that supports all required keyboard interactions
Difficulty
Hard
Available frameworks
Users completed
37 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
272 completed
Data Table IV
Build a generalized data table with pagination, sorting and filtering features
Difficulty
Hard
Available frameworks
Users completed
27 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
32 completed
Nested Checkboxes
Build a nested checkboxes component with parent-child selection logic
Difficulty
Hard
Available frameworks
Users completed
33 completed
Selectable Cells
Build an interface where users can drag to select multiple cells within a grid
Difficulty
Hard
Available frameworks
Users completed
23 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
162 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
168 completed
Wordle
Build Wordle, the word-guessing game that took the world by storm
Difficulty
Hard
Available frameworks
Users completed
104 completed