Interactive Learning: How To Make a Quiz In HTML

Photo of author

Making a simple quiz or test in HTML is an accessible and effective way to test your knowledge, poll your audience, and gamify your website. Follow these step-by-step instructions to create an HTML quiz from scratch and learn basic coding skills.

Table of Contents

How to Make a Quiz in HTML: A Refresher

Before diving into building the quiz, here are some important HTML concepts to refresh your memory:


Elements are indicated by opening <tag> and closing tags </tag>. Some common tags used in quizzes are:

  • <form> – Contains the entire quiz
  • <input type=”radio”> – For multiple choice options
  • <label> – Associates text with form elements
  • <p> – Used to hide correct answers


Provide additional information about HTML elements. We’ll use the following:

  • name – Gives a name to groups of <input> tags
  • id – Uniquely identifies an element
  • for – Matches labels to form elements
  • style – Adds CSS styles directly in the HTML

Nesting Tags

Child elements go inside parent tags. For example:



<input type="radio">




We’ll use radio buttons (<input type= “radio”>) for multiple-choice answers. Each group needs a unique name attribute.

See also: Create A Responsive And Automatic Image Slider In HTML: A Step-By-Step Guide


These markups the text associated with an <input>. Use the for attribute to match them.


<h2> and <h3> tags clearly mark question text.

That covers the main HTML concepts you’ll need to build the quiz! The steps we will go through – adding radio buttons, hidden answer tags, a submit button, and form tags – all utilize these basic HTML skills.

Now, let’s move forward to the first step! The first step to making an HTML quiz is to set up your basic web page structure.

See also: Mastering HTML Non-Breaking Hyphen: Best Practices And Uses

Let’s create the basic structure

The basic structure includes the following –

  • An HTML <html> tag to open and close your document
  • An <head> tag where you’ll put your <title>
  • A <body> tag where the main content will go

So your basic structure will look something like…



<title>My HTML Quiz</title>





The foundation is pretty simple, right? Now let’s see how to make a quiz in HTML.

Create the Quiz Questions

For your HTML test, you must make a structure with individual questions. So go ahead and add –

  • An <h2> or <h3> tag for the question text
  • An <input type=”radio”> tag for each possible answer
  • A <label> tag to associate text with each radio button input

A very basic example:

<h3> What is the complete form of HTML?</h3>

<input type="radio" name="q1" id="q1a">

<label for="q1a">Hyperlinks and Text Markup Language</label>

<input type="radio" name="q1" id="q1b">

<label for="q1b">Hyper Text Markup Language</label>

<input type="radio" name="q1" id="q1c">

<label for="q1c">Hypertext Markup and styling Language</label>

You’ll want to repeat that format for each question in your HTML online test!

Pro tip: Store the correct answers in hidden <p> tags.

Add correct answer tags.

After each set of radio button options, add a <p> tag with the correct answer and hide it using CSS. It will let you check answers for your HTML online test later.

Here’s the syntax –

<p class="answer" style="display:none;">b</p>

The letter inside refers to the ID of the correct radio button, in this case, “q1b”.

Styling the Quiz

Let’s go ahead and sprinkle some basic CSS to style the quiz and improve the user experience, shall we?

Add –

  • Font styles
  • Question and answer spacing
  • Radio button styling
  • Hover effects

Now, let’s get to the fun part. Your quiz-takers will need to be able to submit their HTML questions. So to know how to make a quiz in HTML, you need to know how to enable form submissions.

Gathering user submissions

For your HTML MCQ to be submitted, you will need to add –

  • A submit button <input type=”submit”>
  • A <form> tag to wrap the entire quiz
  • A JavaScript function to get the selected radio buttons and compare them to the correct answers

You can then alert() the user’s score or number of correct answers!

Here’s a reference code to help you understand how to make a quiz in HTML. It also has:


<head> <title>HTML Quiz</title>

<style> /* CSS styles here */ </style>




<h3>Question 1</h3>

<input type="radio" name="q1" id="q1a">

<label for="q1a">Option 1</label>

<input type="radio" name="q1" id="q1b">

<label for="q1b">Option 2</label>

<p class="answer" style="display:none;">q1b</p>

<h3>Question 2</h3>

<!-- Repeat radio inputs for question 2 -->

<p class="answer" style="display:none;">q2a</p>

<!-- Questions 3 and 4 -->

<input type="submit">


<script> // JavaScript to check answers, add the script given below </script>



// Add this JavaScript

document.querySelector("form").addEventListener("submit", function(e){


let score = 0;




// Check answers for other questions

alert("Your score is " + score);


The extra JavaScript features bring an HTML quiz to life. With some HTML, CSS, and JavaScript knowledge, you can learn how to make a quiz in HTML in under one hour!

Why Make an HTML Quiz?

Testing Knowledge in a Fun Way

testing knowledge

Quizzes are a creative way to see how familiar your website visitors are with your topic or subject matter. Taking a quiz can be enjoyable and lighthearted, so visitors may be more willing to reveal what they don’t know. You can then shape your content to fill those knowledge gaps.

Gamifying Your Content


You can transform an ordinary quiz into a more engaging and game-like experience by incorporating elements like timers, progress bars, and high scoreboards. Visitors may spend more time on your site and return to beat their high scores.

Serving as an Education Resource

education process

Well-crafted HTML quizzes can serve as self-study aids for readers looking to evaluate and expand their knowledge in an informal setting. Quizzes provide guidance, structure, and instant feedback that facilitates learning.

Boosting Reader Engagement


Interactive elements like quizzes inherently attract higher levels of involvement from website visitors. People enjoy challenging themselves and competing for good scores. A simple quiz can dramatically increase reader engagement.


How do I check the answers submitted by users?

You'll need to use JavaScript to check the values of the selected radio buttons against the correct answers stored in the hidden

tags. You can then tally the score and alert the user.

How do I make quiz questions with text fields instead of radio buttons?

Use instead of radio buttons for short answers and fill-in-the-blank questions. Then in JavaScript, check if the user's input matches the correct answer stored in the


What HTML tags do I need to create a quiz?

At a minimum, you'll need: - Contains the entire quiz - For multiple choice options

- To hide correct answers


- For question text

Summing Up

Creating interactive quizzes in HTML is easier than you think. Follow this step-by-step tutorial to build engaging quizzes and enhance user experience on your website. Get started today!

Leave a Comment