Add an AI-made HTML quiz or game to Moodle: File, Page, or URL resource
Quick answer
Moodle can show an uploaded .html file as a page: add it as a File resource. Its docs say one can show a website with “JavaScript files,” served from your Moodle. To use the quiz outside one course, publish it and add its address as a URL resource set to Open or New window; a URL set to Embed shows an empty frame.
Free plan: no credit card, 1 published page, 10,000 page views a month, and a small Convika bar at the bottom.
On this page
- File, URL, or Page: what students get
- Upload the .html file as a File resource
- Paste the HTML into a Page or a Text and media area
- Publish your HTML and add it to Moodle as a URL in 5 steps
- Which Display option opens the page, and which shows an empty frame
- Test it as a student
- Fix a question without editing the course
- Frequently asked questions
- Sources
ChatGPT, Gemini, Claude, or Copilot gave you a quiz, a game, or a simulation as one .html file, and it runs when you open it on your computer. Moodle offers 3 places for it: upload the file as a File resource, add a link as a URL resource, or paste the code into a Page. Each one depends on a different setting, and two of them on settings only your Moodle admin can change. This guide uses Moodle's docs for Moodle 5.3, the long-term support release out since October 5, 2026, and Moodle's own code for that release, both read on November 7, 2026.
File, URL, or Page: what students get
| What you do | Where in Moodle | What Moodle says | What students get |
|---|---|---|---|
Upload the .html file | File from the activity chooser | Its docs say a File resource can show “a website with an index.html file” | The page, from your own Moodle: inside the course page (Automatic) or on its own (Open). Its docs list JavaScript files among what a File resource shows. We didn't test it on a Moodle site |
| Add the published page's address, Display: Open or New window | URL from the activity chooser | Open: “Only the URL is displayed in the browser window” | The page in the browser, with its scripts running |
| The same address, Display: Embed or In frame | URL | Embed: “The URL is displayed within the page below the navigation bar” | An empty frame: a published Convika page refuses to be shown inside another site |
| Paste the code into a Page or a Text and media area | Page or Text and media area from the activity chooser | Moodle doesn't clean page resources or activity descriptions unless an admin turns on Content cleaning everywhere | Depends on your site's settings. We didn't test an AI-made page here |
The quotes in the 2 URL rows are Moodle's help for the Display setting, which Moodle shows next to it in the form. A File resource stays inside your Moodle, and students sign in to open it. A link also opens outside it: another course or site, a QR code on the board, or parents at home, on a Chromebook, an iPad, or a phone.
Upload the .html file as a File resource
Moodle's docs for the File resource say “The file module may be used if you have a folder with linked files such as a website with an index.html file, and optionally images, CSS style sheet files and JavaScript files.” For a folder of files, you set the index.html file as the main file. For a single .html file from an AI, that's the one file.
How students see it depends on Display under Appearance. In Moodle 5.3's code, Automatic shows an HTML file with Embed: inside the course page, in a frame Moodle serves from your own site, so the frame isn't the problem. Open shows only the file. Force download makes students save it instead. In Moodle 5.3's code, the file goes to the browser as a web page, not a download, with nothing that turns its scripts off. We didn't test it on a Moodle site or in the Moodle app, so open it once with Switch role > Student. If the quiz responds, keep it there.
A link is the better fit when the same quiz goes beyond one course: another class, a colleague's course, a QR code on the board, or parents at home. You fix it in one place, and Convika counts its page views.
Paste the HTML into a Page or a Text and media area
Moodle's docs for the Page resource say to add “text, images, links or multimedia” under Content, and they don't mention scripts. Two admin settings decide what happens to code pasted there:
- Content cleaning everywhere. Moodle's description of this setting says content “is not cleaned in certain places such as activity descriptions, page resources or HTML blocks to allow scripts, media, inline frames etc. to be added. If this setting is enabled, ALL content will be cleaned.” In Moodle 5.3's code it's off by default and sits among the experimental settings.
- Extended valid elements, in the TinyMCE editor's settings. Its default in Moodle 5.3 is
script[*],p[*],i[*], so the editor keeps<script>tags unless an admin changes it.
Enable trusted content is the setting people often point to. Moodle's docs describe it as a way past the cleaning of “text that comes from users,” and the description of Content cleaning everywhere already names page resources and activity descriptions among the places Moodle leaves alone.
We didn't test pasting an AI-made page into a Moodle Page. A page from ChatGPT is a whole document with its own styles and scripts, and a Page puts it inside Moodle's own page. If the quiz loses its buttons or layout there, publish it and add it as a URL instead.
Publish your HTML and add it to Moodle as a URL in 5 steps
The box at the top of this page turns the file into a page with its own address. Students then open it from Moodle with no Convika account.
1. Drop the file or paste the code in the box
In the upload box, drop one .html or .htm file (up to 2 MB) under Upload a file, or switch to Paste code and paste the code from ChatGPT, Gemini, Claude, or Copilot. Click Get my preview link. You don't need an account or an email for this. The preview is for checking only: it works for 3 minutes, with scripts and forms off, so the quiz's buttons won't respond yet. Don't add it to Moodle.
2. Keep the page and check that it runs
Click Keep this page — free, no card and sign up. The page moves into your account as you uploaded it, and its scripts run there. Click Open preview and play the quiz through once.
3. Publish the page
Click Publish page. Under Who can open this page?, choose Public and click Next. The first time you publish, Convika shows Publish free, and under it Publish without the Convika bar, which opens an order for Pro monthly (1 day free with a card, then $12 a month). To publish on Free, click Publish free. Students open a Public page without an account or a password, and it may show up in search results and in Convika's gallery. To keep it out of both, choose Private link (Pro) instead.
4. Copy the address
Click Copy next to the Live URL. The address looks like yourpage.convika.page and stays the same until you click Unpublish.
5. Add a URL resource set to Open
In your course, with Edit mode on, choose URL from the activity chooser and give it a name. Paste the address into External URL, with https:// at the start. Under Appearance, set Display to Open, or to New window if your site offers it. Click Save and return to course.
Which Display option opens the page, and which shows an empty frame
A published Convika page refuses to be shown inside another site's frame. So any Display option that puts the page inside Moodle's own page shows an empty frame, and every option that gives it its own window works.
| Display | Moodle's help for it | On by default | With a published Convika page |
|---|---|---|---|
| Automatic | “The best display option for the URL is selected automatically” | Yes | In Moodle's code, a web page address gets a page that says “Click on … to open the resource.” The link opens the page: 1 extra click |
| Embed | “The URL is displayed within the page below the navigation bar together with the URL description and any blocks” | Yes | An empty frame |
| Open | “Only the URL is displayed in the browser window” | Yes | Opens, in the same tab. Students use Back to return to Moodle |
| In pop-up | “The URL is displayed in a new browser window without menus or an address bar” | Yes | Opens in a separate window. We didn't test it on an iPad or a Chromebook |
| In frame | “The URL is displayed within a frame below the navigation bar and URL description” | No | An empty frame |
| New window | “The URL is displayed in a new browser window with menus and an address bar” | No | Opens in a new tab or window, with Moodle still open behind it |
Your admin decides the list. Available display options, under Site administration > Plugins > Activity modules > URL, sets which choices teachers see. Moodle 5.3 turns on Automatic, Embed, Open, and In pop-up, and leaves In frame and New window off until an admin adds them. If New window is missing, use Open, or ask your admin to add it. The same admin page also sets the Display a new URL starts on, Automatic by default.
If students already see an empty frame, edit the URL resource, set Display to Open or New window, and save. Nothing changes on the Convika side.
Test it as a student
Moodle's docs describe Switch role in the user menu, which shows the course as another role sees it, if your role allows it. Switch to Student, open the URL resource, and play the quiz for a minute: the page should open on its own, not in a frame, and its buttons should respond. Switch back from the same menu.
Then open the course on one student device. A school web filter can block a site it doesn't know yet. If it does, ask whoever runs the filter to allow the address.
Fix a question without editing the course
On the page's screen in Convika, under Update from an HTML file, click Upload a new version, drop the corrected file, and click Upload as a new version. Check it with Open preview, then click Publish v2 at the same link. The URL resource in Moodle stays as it is, and it opens the fixed page.
Next week's quiz. Free keeps 1 published page live at a time. One page can hold several quizzes picked from a menu: ask the AI to add each new quiz to the same file, then upload it as a new version. A separate quiz page is a second publish. If Convika takes it for a new version of the live quiz, click Publish it as another page. For a Public page, the choice is then Light ($3 a month on top of Free, for up to 5 live pages; the Convika bar stays), through Publish this page too, with Light, or Swap it in for the live page (free), which puts last week's quiz back to a draft and stops its link in Moodle. This is the rule for workspaces created on or after October 23, 2026 (Japan time). Pricing lists each plan.
Frequently asked questions
How do I add an HTML file to Moodle?
Choose File from the activity chooser, upload the .html file, and click Save and display. Moodle shows it from your own site, and its docs say a File resource can show a website with JavaScript files. Open it with Switch role > Student before class. For a quiz students also open outside the course, publish it and add its address as a URL resource with Display set to Open or New window.
Can you embed HTML in Moodle?
Moodle doesn't clean page resources or activity descriptions unless an admin turns on Content cleaning everywhere, so pasted HTML can stay as written. We didn't test a whole AI-made page pasted into a Page. A published Convika page can't be embedded: with Display set to Embed or In frame, a URL resource shows an empty frame.
Why does my URL resource show an empty frame in Moodle?
Its Display is Embed or In frame, and the site at that address refuses to be shown inside another site. A published Convika page always refuses. Edit the resource, set Display to Open or New window, and click Save and return to course.
How do I make a Moodle link open in a new window?
Set the URL resource's Display to New window. Moodle leaves that option off until an admin adds it under Available display options. In pop-up also opens a separate window, without menus or an address bar, and Open shows the page in the same tab.
Why doesn't JavaScript work in my Moodle page?
Moodle's code keeps scripts in a Page by default. An admin can change that with Content cleaning everywhere, which cleans all content, or with the editor's Extended valid elements. A whole page from an AI also lands inside Moodle's page, next to Moodle's own styles and scripts. Publishing it and adding it as a URL set to Open runs it at its own address, outside Moodle's page.
Sources
- URL resource (Moodle 5.3 docs) (read on November 7, 2026)
- URL resource settings (Moodle 5.3 docs) (read on November 7, 2026)
- File resource (Moodle 5.3 docs) (read on November 7, 2026)
- File resource settings (Moodle 5.3 docs) (read on November 7, 2026)
- Page resource (Moodle 5.3 docs) (read on November 7, 2026)
- Site security settings (Moodle 5.3 docs) (read on November 7, 2026)
- Switch roles (Moodle 5.3 docs) (read on November 7, 2026)
- Moodle releases (Moodle developer docs) (read on November 7, 2026)
- The URL resource's Display help and options (moodle/moodle, MOODLE_503_STABLE) (read on November 7, 2026)
- Content cleaning everywhere (moodle/moodle, MOODLE_503_STABLE) (read on November 7, 2026)
Next step
How to password protect an HTML page without code, on your own domain
JavaScript passwords sit in the page code. Put an HTML page from ChatGPT or Claude behind a server-checked password on your own domain.
Related articles
- How to Add HTML to Canvas So Games & Quizzes WorkCanvas strips script, button, and canvas tags when you save a page. Publish your HTML file on Convika and add it to a Canvas module as an External URL.
- Turn an AI-made quiz or review game into a link your students can openAsk ChatGPT, Claude, or Gemini for the quiz as one HTML file, publish it free, and give students a link or a QR code with no student accounts.
- Add an AI-made HTML quiz or game to Padlet so students can open itPadlet takes almost any file, but its help doesn't say how an .html upload looks to students. Publish the page and post its address with the link button.
- Submit an HTML file in Google Classroom so your teacher sees the pageClassroom takes an HTML file, but the teacher gets the file. Hand in a link to the page instead. Teachers post a game for their class the same way.
- Add an AI-made HTML quiz or game to Schoology as a link that opensSchoology's help doesn't say how an .html upload opens, and a Link shows in an iframe by default. Publish the page and set its link to open in a new window.
- Add an AI-made HTML quiz or game to Blackboard as a link that opensBlackboard's help says an uploaded .html file opens in the browser, not if its scripts run. Publish the quiz and add a web link set to open in a new window.
More ways to hand out pages in class
AI Skill Pod
Share AI skills with your team, the easy way
Everyone uses your team's skills in their own ChatGPT, Claude or Gemini, on any plan. Send one invite link. Free to start.
Start free on AI Skill Pod