HTML5 learning games are browser games designed to teach a skill or a body of knowledge: vocabulary, arithmetic, geography, science concepts, safety procedures. Because they run in any modern browser, they work on the Chromebooks, iPads and phones that schools and training teams already have, open from a link, and can sit inside a website or a learning management system (LMS). This guide covers where to find good ones, how to embed them, how to build your own, and how to make one report scores to an LMS. Standards and licences were checked in October 2026.
One thing up front: we make commercial HTML5 games, but none of our 50 games is an educational game. The free code and the options at the end of this guide are where we can help today.
What makes a good HTML5 learning game
There is no reliable public ranking of the best HTML5 learning games, and we haven't tested enough of them to publish one. These are the checks that separate a learning game from a game with a quiz bolted on:
- The skill is the mechanic. In a spelling game you type or assemble words; in a geography game you find places on a map. If the game would work the same with the questions removed, the learning is decoration.
- Feedback explains. A wrong answer shows why, then gives the player another chance later in the session.
- Rounds fit a lesson. Three to five minutes per round lets a teacher use it as a warm-up or an exit check.
- It runs on school devices and networks: small downloads, touch and keyboard support, and nothing that needs a blocked domain.
- No adverts or accounts for children unless the publisher has done the privacy work (see below).
- Accessible: readable text, keyboard play and no colour-only signals, following WCAG 2.2.
- Reports progress if teachers need it, through the standards covered later in this guide.
Educational game code by category
Most learning games are built on a handful of game types. Each one below has free, MIT-licensed code on our site that you can copy and adapt:
| Game type | What it teaches well | Free code to start from |
|---|---|---|
| Quiz and trivia | Recall of facts, multiple choice tests | Quiz game |
| Memory match | Vocabulary pairs, symbols, translations | Memory game |
| Drag and drop | Sorting, labelling diagrams, ordering steps | Drag-and-drop game |
| Word games | Spelling, vocabulary | Word games |
| Simulations | Cause and effect in science and maths | PhET simulations (below) |
| Map games | Geography, history | The map example in this guide |
Free educational HTML5 games to embed on your website
The best-known free source is PhET Interactive Simulations from the University of Colorado Boulder: interactive HTML5 simulations for physics, chemistry, biology, earth science and maths. Their licence changed in 2026, so check the date. According to PhET's HTML licensing page, simulations released before 29 March 2026 are published under CC BY 4.0: you may use and redistribute them, commercially too, as long as you show the attribution "Simulation by PhET Interactive Simulations, University of Colorado Boulder, licensed under CC BY 4.0" with a link close to the simulation, and keep the PhET logo visible. Each simulation's About box shows its date; newer releases fall under PhET's separate licensing terms.
To put a game on a page, embed it with an iframe:
<iframe src="https://example.com/games/fractions-quiz.html"
title="Fractions quiz" width="800" height="600"
allow="fullscreen" loading="lazy"></iframe>Before embedding any third-party game on a site for children, check three things: the licence allows it, the game doesn't load adverts or trackers of its own, and its domain isn't blocked by school filters. Our guide to embedding an HTML5 game in a website covers WordPress, Wix and Google Sites.
Creating learning games using HTML5
The build is ordinary HTML5 game development; the design is where learning games differ. A process that works:
- Start from the objective and the evidence. Write what the player should be able to do afterwards, and what in-game action proves it.
- Pick the mechanic that is the skill, using the table above.
- Keep the content in data. Questions, answers and explanations belong in a JSON file, so a teacher or subject expert can edit them without touching code, and one game can serve many topics.
- Write explanations for wrong answers, and bring missed questions back later in the round.
- Test with the real audience. Watch learners of the target age play without help; their hesitations are your fix list.
A question bank can be as simple as this:
[
{
"q": "What is the capital of Kenya?",
"choices": ["Mombasa", "Nairobi", "Kisumu", "Nakuru"],
"answer": 1,
"explain": "Nairobi is Kenya's capital and its largest city."
}
]For text-heavy games like quizzes, plain HTML buttons beat drawing text on a canvas: you get wrapping, translations and screen reader support for free. For action-heavy games, an engine such as Phaser helps; our HTML5 game engines comparison covers the options, and how to make an HTML5 game walks through the full build.
Geography learning games in HTML5
A "find the country" game is an SVG map in which every country is a path with its code, plus a click handler. Free map data exists: Natural Earth publishes its vector and raster map data in the public domain, with no permission or credit required. Simplify the shapes before export so the file stays small on school networks.
const target = { iso: "KE", name: "Kenya" }; // the question: "Find Kenya"
document.querySelector("#map").addEventListener("click", (e) => {
const country = e.target.closest("path[data-iso]");
if (!country) return;
const right = country.dataset.iso === target.iso;
country.classList.add(right ? "correct" : "wrong");
// Say it in words too: colour alone fails colour-blind players and screen readers
status.textContent = right ? `Correct: ${target.name}` : `That's ${country.dataset.name}. Try again.`;
});status is an element with aria-live="polite", so screen readers announce each result. Small countries are hard to tap on a phone, so offer zoom, or a list of names as an alternative way to answer. Borders and place names are disputed in some regions; decide which map you show and say so in your notes for teachers.
HTML5 e-learning game templates and LMS standards
Schools and companies often want a game inside their LMS, with scores in the gradebook. That takes one of three standards:
| Standard | What it is | How the game reports | When to use it |
|---|---|---|---|
| SCORM | ADL's packaging and runtime specification; SCORM 2004 4th Edition (2009) is the latest edition, and SCORM 1.2 is still in use | A ZIP package with an imsmanifest.xml; the game calls the LMS's JavaScript API | The LMS supports nothing newer |
| xAPI | IEEE 9274.1.1-2023, approved March 2023 | JSON statements ("Amira answered question 4 correctly") sent over HTTP to a Learning Record Store | Detailed in-game events, or tracking outside an LMS |
| cmi5 | A profile for using xAPI with an LMS | LMS launch rules, with xAPI statements for the data | A modern LMS that supports it |
Ask which versions the target LMS supports before you build; that decides the packaging. A SCORM 1.2 game finds the API object the LMS puts in a parent window and reports the result:
function findAPI(win) {
for (let i = 0; win && i < 10; i++) {
if (win.API) return win.API;
if (win.parent === win) break;
win = win.parent;
}
return window.opener?.API ?? null;
}
const lms = findAPI(window);
lms?.LMSInitialize("");
function reportScore(score, max, passMark) {
lms?.LMSSetValue("cmi.core.score.raw", String(score));
lms?.LMSSetValue("cmi.core.score.max", String(max));
lms?.LMSSetValue("cmi.core.lesson_status", score >= passMark ? "passed" : "failed");
lms?.LMSCommit("");
}
window.addEventListener("pagehide", () => lms?.LMSFinish(""));SCORM 2004 uses an API_1484_11 object with Initialize, SetValue and Terminate, and different data model names (cmi.score.scaled, cmi.success_status). Test the package in the client's LMS, or a staging copy of it, before launch: LMSs differ in how they launch content and when they save.
Do we sell HTML5 educational games or source code?
No. Our catalog is 50 single-player commercial games, from puzzle and merge games to racing, action, simulation and strategy. None has a curriculum, learning objectives, teacher reporting or SCORM packaging. Some of our puzzle games exercise logic, like Arrow Grid Escape and Cable Untangle, but we don't present them as learning games, and Liquid Lab's chemistry formulas are fictional rather than real science.
If you need a learning game for a commercial project, two routes are open:
- Suggest it on our public roadmap. Other buyers can vote for it, and if your idea ships you get a free game credit.
- Request an exclusive game: a small original game built only for you and never sold to anyone else. Sending the brief is free, we review briefs within 5 business days, and you pay only if we accept it.
Open-source HTML5 educational games
Open source is a good way to learn how a mature educational game is built, but the licence decides what you can do with the code:
| Source | Licence | What it means for you |
|---|---|---|
| PhET simulation source on GitHub | GPL-3.0 | You can study and modify it; software you distribute that includes it must be GPL too |
| PhET simulations released before 29 March 2026 | CC BY 4.0 | Use and embed them with the attribution line |
| Our free mini-games | MIT | Copy, change and sell; keep the licence line |
Our guide to free and open-source HTML5 games explains these licences in more depth.
Children's privacy and accessibility
Many learning games are aimed at children, which brings legal duties. In the US, the FTC's COPPA rule governs personal data from children under 13. The amended rule published in April 2025 set 22 April 2026 as the compliance date for most of its provisions, so it applies now. In practice, keep children's games free of third-party adverts and analytics unless you have checked them against the rule, collect no names or emails without verified parental consent, and take legal advice for your market. This is a summary, not legal advice.
Accessibility matters as much in a classroom as anywhere: large tap targets, keyboard play, captions or text for any spoken instructions, and no colour-only feedback. The Game Accessibility Guidelines turn these into a practical checklist.
Frequently asked questions
Are there free HTML5 learning games I can put on my website?
Yes. PhET's simulations released before 29 March 2026 can be embedded and shared under CC BY 4.0 with an attribution line, and our free quiz, memory, word and drag-and-drop games are MIT-licensed, so you can change the content and host them yourself.
Can an HTML5 game report scores to an LMS?
Yes. Package it with SCORM 1.2 or 2004, the longest-established formats, or use cmi5 or xAPI where the LMS supports them. The game calls the LMS's JavaScript API (SCORM) or sends xAPI statements over HTTP.
What is the best engine for an educational HTML5 game?
For quizzes and other text-heavy games, plain HTML, CSS and JavaScript are enough and the most accessible. For games with movement, physics or many sprites, use an engine like Phaser. Keep the questions in data files either way.
Do you sell HTML5 educational game templates?
Not yet. None of our 50 games is educational. You can suggest one on the roadmap or send a brief for an exclusive game.
We make and sell HTML5 game source code; links to our games are marked as ours.