100JSProjects
LearnProjectsExplore all projects
100JS_WORKSPACE/Build · Learn · Repeat
100JSProjects

Practical HTML, CSS, and JavaScript projects designed to help you turn concepts into real skills—one build at a time.

01Explore

./All projects./Learning guides./About./Contact./Privacy

02Resources

./GitHub repository./Support the project

© 2026 100 JS Projects. Built for developers.

TermsCookiesContact
JS//Projects/Random Emoji

Random Emoji

Build a random emoji with HTML, CSS, and JavaScript while practicing API requests and async and await.

Intermediate30–45 minutesHTML5CSS3JavaScript
You’ll practice
API RequestsAsync and AwaitClick Events
View Source CodeLive Demo
demo.100jsprojects.com/random-emoji
Final resultRandom Emoji project previewTry Live Demo
01 — What you’ll build

Random Emoji

In this project, we’re going to build a random emoji using HTML, CSS, and JavaScript. You’ll see how to connect user interactions to visible changes on the page. Along the way, you’ll practice API requests, async and await, and click events, so you can understand how the interface and JavaScript logic work together.

02 — Included
  • ✓Live API-powered results
  • ✓Random Emoji interface
  • ✓Responsive HTML and CSS layout
  • ✓Complete source code and live demo
03 — You’ll practice
  • >Fetch data from an API
  • >Work with asynchronous JavaScript
  • >Handle user clicks
  • >Select HTML elements from the DOM
  • >Update content on the page
  • >Generate random values

Recommended knowledge: Basic HTML and CSS, JavaScript functions and arrays, Promises and the Fetch API, Functions and Math.random.

Complete project files

Build It from the Source Code

This project connects the interface to live API results.

  1. 1Create 3 files
  2. →
  3. 2Copy the code
  4. →
  5. 3Run index.html
Before you run it
  • Keep an internet connection available for live data.
Project structure
random-emoji/
├──
├──
└──
Need help setting up the project?

Create project files, install Live Server, and run your first project.

Open beginner guide
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Random Emoji</title>
</head>
<body>
    <h2>Random Emoji</h2>
    <div class="section">
        <button class="btn" id="btn">Click</button>
        <p class="emoji-name" id="emoji-name">Emoji Name</p>
    </div>
    <script src="index.js"></script>
</body>
</html>
JS// Related Projects

Practice with Related Projects

Practice API requests, async/await, and javaScript calculations with these related projects.

Photo Gallery project preview★Best match
Related: API requestsIntermediate

Photo Gallery

Request remote photos and arrange the results into a gallery.

Build a photo gallery →
Amine Pics Generator project preview
Related: async/awaitIntermediate

Amine Pics Generator

Handle asynchronous results and update the interface when they arrive.

Build an amine pics generator →
Dad Jokes Generator project preview
Related: JavaScript calculations

Dad Jokes Generator

Turn JavaScript calculations into clear visual results.

Build a dad jokes generator →
Photo Gallery project preview
Related: API requests★Best match

Photo Gallery

Request remote photos and arrange the results into a gallery.

Build a photo gallery
Amine Pics Generator project preview
Related: async/await

Amine Pics Generator

Handle asynchronous results and update the interface when they arrive.

Build an amine pics generator
Dad Jokes Generator project preview
Related: JavaScript calculations

Dad Jokes Generator

Turn JavaScript calculations into clear visual results.

Build a dad jokes generator
JS{ }Explore All JavaScript ProjectsBrowse by difficulty or concept.Explore All Projects