You made a review game or interactive activity as an HTML file, attached it to a Google Classroom assignment, and students see code or can't open it. Post it as a link instead: the steps, what it takes to keep it working all term, and when you need Google Forms or your LMS.
It's Sunday evening. You asked ChatGPT or Claude for a review game for tomorrow's class, or finished a branching story in Twine, and it works in your browser. You attached the .html file to the assignment, checked it from the student side, and got a screen of code. Or a download button. Thirty students on school Chromebooks will get the same thing in the morning.
The short answer: don't attach the file. Put it on a link that opens as a web page, and add that link to the assignment. Students click it and the activity runs, with no account and no download.
Files you attach to a Classroom post are kept in Google Drive. Drive's job is storing files, and it stores an HTML file as a file: it doesn't hand it to the browser as a web page, so what students see is the text of the page, or an offer to download it. Nothing is wrong with what you made. Why Google Drive shows your HTML as code explains the mechanism in more detail.
So the fix isn't a different export or a different file name. It's putting the file somewhere that serves it as a page.
These are the usual suggestions in teacher forums, and each one works somewhere. Here's where each stops:
| What people suggest | Where it stops |
|---|---|
| Students download the file and open it from their Downloads folder | One extra step for every student, and on school-managed Chromebooks downloading or opening files can be limited by how the school set the devices up. The first ten minutes of the lesson go on "mine won't open". |
| Zip the files and attach the ZIP | The same problem with one more step: unzip, find the right file, open it. |
| Package it as SCORM and put it in an LMS | A real option if your school runs an LMS that takes SCORM packages. It's a package for a platform, not something a student can open. A SCORM package vs a plain web link covers when it's worth it. |
| Put it on a link and add the link to the assignment | Students need a working connection and a browser, and the school's network has to let the address through. More on checking that below. |
.html file, you're ready. If it's a folder, an index.html with images, scripts or other files next to it, zip the whole folder. If it's an H5P activity, export it from Lumi as HTML first; that page covers the content types that don't export.If the activity is only for this week, you can skip the account: the upload page without sign-up takes a file up to 3 MB and gives you a link that lasts 7 days. You can't fix a mistake behind that link, though, so a typo in question 4 means a new link and a new post.
Upload the activity, copy the link, and add it to your assignment. A free account includes one link that never expires.
That depends on the plan, and on whether the activity needs to:
Spotted a wrong answer after you posted it? Fix the file, open the page in your miinideck dashboard and choose Replace file. The link in Classroom keeps working and you don't need to edit the assignment. Students who open or reload it get the corrected version.
No. A page on a link runs in each student's browser and doesn't send anything back, not to you and not to Classroom. If the activity keeps a score or remembers progress, that's saved in the browser on the device the student used. A different Chromebook starts from scratch, and students who share one device under the same login share that saved progress too.
So decide what you need from it:
Two minutes the day before saves the first ten of the lesson:
Your best project is under NDA and a prospect wants to see what you've done. Four ways to show it, what each one costs you, how to make a version you can send, and what a private link can't protect.
You built a sample site for a local business on spec and it's still sitting in your AI builder. What the owner needs to be able to do with the link, what the builder's own URL, a Vercel deploy and a screen recording each give you, and how to send it as a private link that stays out of search and ends on its own.
Launching a site and handing it over have become the same click, which is why freelancers stall when a client says 'looks great, put it live' before the last invoice is paid. What you can hold back until payment, what you can't, six ways to show the work without launching it, and a step-by-step for static builds.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.