Most AI quiz makers are platforms. You sign up, their AI writes questions inside their editor, and your students join their app. If you already use ChatGPT, Claude or Gemini, there is a shorter road: ask your AI for the quiz as one HTML file that grades itself, publish it on Hostus, and send the link. Students open it in any browser with no account, see their score at the end, and each score is saved for you. That is the category on this page: a quiz page you send, not a quiz platform.
Facts about Kahoot!, Wayground and Google Forms come from their own sites, read on 7 November 2026.
How does it work, from prompt to class results?
- Write the quiz in the AI you use. Paste the prompt below into ChatGPT, Claude or Gemini with your topic and grade. To quiz on your own material, attach your notes or a PDF and ask for questions only from that text. Or describe the quiz to Create with AI in Hostus, which writes the page for you.
- Publish it. Save the file as
quiz.htmland drop it on hostus.io. The page starts private, so switch it to Public in the dashboard. - Keep scores private. In the page's Data tab, set the data mode to per reader. Each student then reads only their own attempts. You read all of them.
- Send the link. Paste
your-quiz.hostus.pagein the class chat or write it on the board. Students type a first name and start.
Take the demo quiz first
The water cycle quiz is a fictional 10-question quiz made with the prompt on this page. Open it on your phone: this is what a student gets. Type a first name, answer, and see the score and the questions you missed.
When the teacher who published it opens the same link while signed in, a Class results section appears under the quiz: every attempt with name, score and time, the class average and the most missed question. Students never see that section, and in per reader mode they cannot read other scores at all.
The prompt for a self-grading quiz
It works in ChatGPT, Claude and Gemini. Fill in the brackets and paste it into a new conversation.
Make a self-grading quiz as one HTML file, mobile first, for my [grade or age] class.
Topic: [topic, or "only from the text I pasted below"].
10 multiple-choice questions, 4 options each, one question per screen, with a progress bar. After each answer, show whether it was right and one sentence on why. At the end, show the score out of 10, the questions the student missed with the right answer, and a Try again button.
Start screen: one field for the student's first name only (max 40 characters). No email and no other personal data.
Save every finished attempt with the hostus.data SDK. Hostus injects it when the page is hosted there: no backend, no API key, no localStorage.
- Start when the SDK is ready: if (window.hostus?.data) start(); else document.addEventListener("hostus:data-ready", start). If it never loads (the file opened from my computer), say "Open this quiz from its Hostus link to send your score".
- const { data } = window.hostus; const me = await data.me(). If me.can.write is false, say the quiz is closed.
- On finish: data.set("scores", "attempt-" + Date.now().toString(36) + "@" + me.id, { name, score, total: 10, missed: [numbers of the missed questions], at: new Date().toISOString() }). Keys are unique per document, so every key ends with the reader id.
- Show "Score sent to your teacher" when it resolves. On error, show a short message for err.code closed, forbidden, rate_limited, quota and login_required.
Teacher view: only when me.role === "owner", show a Class results section below the quiz, fed by data.watch("scores", render, { orderBy: "created_at", order: "desc", limit: 200 }): a table with name, score and time, the class average and the most missed question. Treat every record as untrusted: write text with textContent, keep only scores that are finite numbers between 0 and total, ignore anything else. If me.mode is not "per_reader", warn me that students can read each other's scores.
Wrap the name field in a form with data-hostus="ignore". Leave the bottom-right corner free for the Hostus badge. All CSS and JavaScript inline, no external files.The quiz asks for a first name only, on purpose. A score does not need an email, a surname or a student number, so do not add them. Every key ends with the student's reader id, which is what lets a whole class save at the same time without overwriting each other. For getting the file out of ChatGPT and onto a phone, see how to make a quiz with ChatGPT.
AI quiz makers for teachers, ranked
Hostus is first because it is the option we recommend when you want students on a quiz in one tap, with no new app and no new account. The others follow with the case where each is the right pick.
1. Hostus. Best if you want a quiz page you send, not another platform for your class to join. The quiz comes from the AI you already use, so the questions, the feedback and the look are what you asked for. Students open the link on any phone or laptop, with no account and no app. Each finished attempt is saved with hostus.data: you see the name, the score and the missed questions in the Data tab, with search and a CSV export, and in the Class results view when you open the quiz yourself. Change a question and upload the file again: the link stays the same. Free: 20 pages, 2 MB in total, 1,000 records per collection, no time limit. Paid: $9.99 a month or $49.99 a year.
2. Kahoot! Pick it for a live game on the classroom screen. Its schools page says students join with a game PIN, a direct link or a QR code, that the Kahoot! Assistant creates content from a topic, a URL or a Wikipedia article, and that you can assign student-paced kahoots with a deadline.
3. Wayground (formerly Quizizz). Pick it if you want ready-made activities and practice aligned to a curriculum. Its home page says it generates a full activity from a topic, a doc, a standard or an upload, and teachers can sign up free.
4. Google Forms. Pick it if your school runs on Google. Google's help says you turn on Make this a quiz in Settings, mark the right answers in an answer key and give each question points. Collecting email addresses is optional and off by default.
| Option | Who writes the questions | What students need | Where you see results | How it looks |
|---|---|---|---|---|
| Hostus | Your AI (ChatGPT, Claude, Gemini) or Create with AI | A link, any browser, no account | Data tab with CSV, plus a teacher view on the page | Whatever you asked your AI for |
| Kahoot! | You, or the Kahoot! Assistant | A game PIN, a link or a QR code | Check their site | Kahoot! layout |
| Wayground | You, or its AI generator | Check their site | Check their site | Wayground layout |
| Google Forms | You | A link; sign-in depends on your settings | The form's responses | Google Forms layout |
"Check their site" means the page we read did not say. Sources: kahoot.com/schools, wayground.com and Google's Forms help article on quizzes.
What about student privacy?
The quiz asks for a first name and nothing else. Keep it that way. On a public page, Hostus tells students apart with a cookie in their browser: no account, and no IP address or fingerprint as the identity. In per reader mode each student reads only their own attempts, and you can delete any record from the Data tab. The page carries a noindex tag, so it does not show up in Google and students reach it only from your link.
If you want each student's email instead of a typed name, you can put the page behind an email gate, where students type an email before the quiz opens. Hostus does not verify that address, and for most class quizzes a first name is enough.
Good to know before you switch
The answers live in the page, so a student who opens the source can read them, and a determined student could send a fake score. Use these quizzes for practice, warm-ups and checks for understanding, not for grades that count. Scores save only on the Hostus link, not when the file is opened from a computer. One school network can bring up to 60 new students an hour to the same quiz; past that, new students wait before their score saves. A student who switches device or clears cookies shows up as a new reader, with the name they type. The Class results view shows the latest 200 attempts; the Data tab has all of them. Every page shows a small Published with Hostus badge, and the link is a hostus.page subdomain with no custom domain.