How to make a mad lib in javascript?

AffiliatePal is reader-supported. When you buy through links on our site, we may earn an affiliate commission.



In this article, we will explore how to create a Mad Lib game using JavaScript. Mad Libs are a fun and interactive word game that allows players to create humorous stories by filling in the blanks with different types of words. By using JavaScript, we can create a dynamic Mad Lib game that generates unique stories each time it is played.

Getting Started

To create a Mad Lib game in JavaScript, we need to start by setting up the basic structure of our HTML file. We will need an input form where players can enter their words, and a button to submit their answers. Additionally, we will need a container to display the generated story. Here is a simple HTML structure to get started:


Mad Lib Game

Mad Lib Game


Creating the JavaScript Logic

Now that we have our basic HTML structure in place, let’s move on to the JavaScript part. We will start by adding an event listener to the form submission, so that when the user submits their answers, we can generate the story. Here is an example of how we can achieve this:

const form = document.getElementById(‘madLibForm’);
const storyContainer = document.getElementById(‘storyContainer’);

form.addEventListener(‘submit’, function(event) {

const noun = document.getElementById(‘noun’).value;
const verb = document.getElementById(‘verb’).value;
const adjective = document.getElementById(‘adjective’).value;

const story = `Once upon a time, there was a ${adjective} ${noun} who loved to ${verb}.`;
storyContainer.textContent = story;

In the above code, we first select the form and the story container element using their respective IDs. Then, we add an event listener to the form’s submit event. Inside the event listener, we prevent the default form submission behavior using `event.preventDefault()`. We then retrieve the values entered by the user for the noun, verb, and adjective inputs. Finally, we generate the story by using template literals and assign it to the story container’s `textContent`.

Enhancing the Mad Lib Game

The example above provides a basic implementation of the Mad Lib game. However, you can enhance the game by adding more input fields and expanding the story template. You can also add validation to ensure that all required fields are filled before generating the story. Additionally, you can use CSS to style the game and make it more visually appealing.


Creating a Mad Lib game in JavaScript is a fun and engaging way to entertain users with interactive storytelling. By combining HTML, CSS, and JavaScript, you can build a dynamic game that generates unique stories based on user input. Whether you’re creating a simple game or adding more complexity, the possibilities are endless.