Add an AI-made HTML quiz or game to Brightspace: file topic or web link
Quick answer
Brightspace can show an uploaded .html file as a page: D2L's help says Classic Content topics can hold JavaScript, run in a sandboxed frame where that feature is on. For a quiz students also open outside one course, publish it and add a web link set to Open in a new tab. Embed on the page 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
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. Brightspace takes it in 3 ways: upload the file as a topic, paste the code into a page, or add a web link to it. Brightspace has 2 versions of its Content tool, Classic Content and the newer Content experience, and D2L's help says different things about each. This guide uses D2L's help on Brightspace Community, read on November 7, 2026.
File, page, or web link: what students get
| What you add | Where in Brightspace | What D2L's help says | What students get |
|---|---|---|---|
The .html file, in Classic Content | Upload/Create > Upload Files | “Topics can contain audio-video recordings, uploaded files, text, and JavaScript all displayed in HTML.” | The page inside Content, with its scripts running in a sandboxed frame where your school uses that feature. We didn't test it |
The .html file, in the Content experience | Drag it onto a unit, or Add Existing | Its list of files shown in Content's viewer doesn't name .html, and “All other file types uploaded to Content appear as download links” | D2L's help doesn't say directly. Check it with View as Student |
| The code, pasted into a page | Create New > Page, then Source Code | Content HTML topics “support complete HTML documents” | D2L's help doesn't say whether scripts pasted into the editor stay |
| A web link set to Embed on the page | Create New > Web Link > Display & Completion | It embeds “a secure (https) link in the Content viewer” | An empty frame: a published Convika page refuses to be shown inside another site |
| A web link set to Open in a new tab | The same | “Open in a new tab (recommended)” | The page in a new tab, with its scripts running |
The last row works on any device and in any course, whatever the page holds. In Classic Content, D2L's help says the same for every link topic: “It is recommended that all link topics open as an external resource to prevent any unexpected security conflicts.”
Upload the .html file as a topic
In Classic Content, D2L's help says a topic can hold “uploaded files, text, and JavaScript all displayed in HTML.” Open a module, select Upload/Create, then Upload Files, and choose the .html file from your computer. D2L's list of file types for course content names HTM and HTML as a “Web document,” and notes that “Brightspace strips the <title> tag and text within the tag from user created web documents.”
The sandbox. D2L describes “a sandboxing feature that creates a secure iFrame around the HTML file.” In its words, it “allows an HTML file to execute scripts (such as JavaScript) within the iFrame only but will prevent them from executing outside the iframe.” D2L's help doesn't say whether the sandbox is on for every school, or which features a sandboxed quiz keeps. Open the topic as a student before class. If the quiz responds there, keep it there.
In the Content experience, D2L's list of files that “display in the embedded viewer in Content” names PDF, images, audio, and video, with Word and PowerPoint where the Document Conversion Service is on. It doesn't name .html, and it says “All other file types uploaded to Content appear as download links for users to view outside of Brightspace.” D2L's editor help also says to “upload your content as an HTML file to Content” for custom styling, so the help doesn't settle it. Check with View as Student.
A link is the better fit when the 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
In the Content experience, Create New > Page opens Brightspace's editor, and its Source Code view takes HTML. D2L's editor help says the editor usually removes <!DOCTYPE>, <html>, <head>, and <body> tags and <style> blocks, and that this “applies to all editor contexts except Content HTML topics and Custom Widgets, which support complete HTML documents.” A Page is the topic Classic Content calls a file, with Edit HTML. D2L's help doesn't say whether the editor keeps the <script> tags a quiz runs on, and we didn't test it. If the quiz loses its buttons there, upload the file or publish it and add a web link.
Publish your HTML and add it to Brightspace as a web link 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 Brightspace 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 Brightspace.
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 web link that opens in a new tab
In your course, click Content and select the unit where the quiz goes. Click Create New > Web Link (in Immersive View, Add > Web Link). Enter the Web Link Title, and paste the address into External Link. Click Display & Completion, select Open in a new tab (recommended) under Display Options, and click Save.
In Classic Content, open a module, select Upload/Create > Create a Link, paste the address, select the option to open it as an external resource (Open as External Resource), and create the link.
When the link shows an empty frame
A published Convika page refuses to be shown inside another site's frame. A web link set to Embed on the page, or a Classic Content link that doesn't open as an external resource, puts the page in a frame inside Brightspace, and the frame stays empty.
To fix it, D2L's help gives the same steps it gives for a tool that won't load in a frame. In the Content experience, edit the link, open Display Options, and select Open in a new tab. In Classic Content, edit the properties in place and select Open as External Resource. In a page, edit the HTML link and select Open in New Window. Nothing changes on the Convika side, and the address stays the same.
An <iframe> with the address, pasted into a page's Source Code, or embed code through Insert Stuff, leaves the same empty frame.
Test it as a student
D2L's help describes Role Switch: click your name in the minibar, then View as [Role], such as View as Student. Your role must have the Role Switch permissions. D2L calls it a quick visual review, and notes that in the Content experience, “Inline activities appear as links instead of embedded content.” Open the link and play the quiz for a minute: it should open in a new tab, and its buttons should respond. To switch back, click your name and click the X next to Viewing as [role]. For a full test, D2L's help suggests Impersonate with a demo student account.
Then open the course on one student device, such as a Chromebook or a phone. D2L's help for its Brightspace Pulse app lists HTML among the content types it shows. A school web filter can block a site it doesn't know yet. If the page doesn't open on a school device, 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 (or choose Paste code), and click Upload as a new version. Check it with Open preview, then click Publish v2 at the same link. The web link in Brightspace stays as it is, and it opens the fixed page. If you copied the link into several courses, they all open 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 Brightspace. 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 Brightspace?
In Classic Content, open a module, select Upload/Create > Upload Files, and choose the .html file. D2L's help says topics can hold JavaScript displayed in HTML, inside a sandboxed frame where your school uses that feature. In the Content experience, drag the file onto a unit and check it with View as Student. For a quiz that also opens outside the course, publish it and add a Web Link set to Open in a new tab.
Can you embed HTML in Brightspace?
Yes, as an uploaded HTML topic, and D2L's editor keeps complete HTML documents in Content HTML topics. A published Convika page can't be embedded: a web link set to Embed on the page shows an empty frame. Set it to Open in a new tab instead.
Why is my Brightspace web link blank?
The link is set to show the page inside Brightspace, and the site at that address refuses to be shown inside another site. A published Convika page always refuses. Edit the link, open Display Options, and select Open in a new tab. In Classic Content, select Open as External Resource.
What does Open as External Resource do in Brightspace?
It opens a link topic in a new window instead of inside Brightspace. D2L's help on tools that won't load in a frame says this setting “will open the link in a new window instead of rendering it in an iframe,” and its Classic Content help recommends it for all link topics.
Does Brightspace run JavaScript in HTML files?
D2L's help says Classic Content topics can hold “JavaScript all displayed in HTML,” and that a sandboxing feature, where it's on, lets an HTML file run scripts inside its own frame only. A published page opened from a web link in a new tab runs its scripts at its own address, outside Brightspace.
Sources
- Add and organize learning materials in Classic Content (D2L Brightspace Community) (read on November 7, 2026)
- Add and organize learning materials in Content (D2L Brightspace Community) (read on November 7, 2026)
- What types of files can I use for course content? (D2L Brightspace Community) (read on November 7, 2026)
- About Brightspace Editor (D2L Brightspace Community) (read on November 7, 2026)
- Content: frequently asked questions (D2L Brightspace Community) (read on November 7, 2026)
- LTI Cookie Problem: Windows postMessage solution (D2L Brightspace Community) (read on November 7, 2026)
- Third-Party Cookie Issues for LTI Tools (D2L Brightspace Community) (read on November 7, 2026)
- Preview your course (D2L Brightspace Community) (read on November 7, 2026)
- View courses and course content in Brightspace Pulse (D2L Brightspace Community) (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.
- Add an AI-made HTML quiz or game to Moodle: File, Page, or URL resourceMoodle shows an uploaded .html file as a File resource. For a quiz used beyond one course, add its published address as a URL set to Open; Embed stays empty.
- 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.
- 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.
- 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.
- How do I create a QR code for an HTML file?To convert an HTML file to a QR code, publish it at an address that stays, then click Show QR code and download a PNG. The code holds a link, not the file.
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