Turn an HTML file into a QR code people can scan

Quick answer

To turn an HTML file into a QR code, put the page online first, then make the code from its address. A QR code holds a link instead of the file, so whoever scans opens whatever is at that address. A printed code, or one shown in class, needs an address that keeps working. The upload box on this page gives a no-signup preview link that works 3 minutes for checking the page, never for a QR code. Keep the page on Convika's Free plan and publish it to keep the same address until you unpublish, even when you publish a changed version. Click Show QR code next to that address in the dashboard to open a code large enough to project for a class. Download PNG saves it for a slide or a flyer. Chrome's Create QR code and other QR code generators make one from the address too. Visits from the code show in the page's visit counts.

Get your QR code link

Free plan: no credit card, 1 published page, 50 form entries a month.

On this page

You have a page as an HTML file: a café menu, an event flyer, a worksheet, or a game ChatGPT or Claude made. You want people to point a phone at a code and see the page.

This guide covers making the code, checks before printing, handing a page or a game to a class, and counting scans. The Google, Apple, and QR TIGER pages quoted were read October 15, 2026.

A QR code holds a short piece of data, such as a web address. When you point your phone camera at the code, it reads the data and shows the link. You tap it, and the page opens in your browser. The .html file cannot go inside the code itself. Your file must live online first, at an address the code can point to.

A file QR service like QR TIGER hosts the file on its own servers and directs people to its own page. According to QR TIGER's page on its file QR codes, when you share a PDF, “Scanning it will lead users to a landing page where they can view the PDF file.” The service lists Word, PDF, JPEG and PNG images, Excel, MP4, and MP3 files. It does not include HTML. It also states: “The file QR codes are dynamic and only accessible with a subscription to QR TIGER.”

Turn an HTML file into a QR code in 4 steps

The code comes last. You make it from the published page's address.

1. Drop the file or paste the code

Drop the .html file in the box at the top of this page, or switch to Paste code and paste it, then click Get my preview link. You can upload 1 .html or .htm file, up to 2 MB, with no account. If a tag in the page still points to images or CSS on your computer, the box lists those files so you can fix the links first. Files a script loads aren't listed. When you see “Your preview is ready,” click Copy link and open it on your phone to check the layout. That link works 3 minutes, with scripts and forms off. Use it for checking only, never for a QR code. A code made from it stops working within minutes.

2. Keep the page and publish it

Click Keep this page — free, no card above the preview link, then sign up. The page moves into your account as uploaded, with scripts running. You can still keep it after the preview ends. Click Publish to go live at an address like yourpage.convika.page. The address stays the same until you click Unpublish. The Free plan requires no credit card and gives you 1 published page. On Free, a small Convika bar sits at the bottom of the page.

3. Show the QR code and download it

Open the page's screen in the dashboard. The address under Live URL is what the code holds. Click Show QR code next to it. The code opens large, with the address under it in big type, so you can project it for a class as is. Click Download PNG to get an image for a slide, a worksheet, or a flyer. The code holds the address exactly as under Live URL, including your own domain when the page uses one. It is made in your browser, so the address isn't sent to a QR code service.

4. Scan the code before you share it

Scan the on-screen code with your phone. The link shown should be the address under Live URL. Tap it and check that the page fits the phone's screen. If you are counting scans apart from other visits, make the code from a tagged address in the next section.

Make the QR code in Chrome or another generator

Click Show QR code in your dashboard to get a code for your page's address as is. If you want to count visits from the printout separately, add ?utm_source=qr to the end of the address first, such as https://yourpage.convika.page/?utm_source=qr. Each time someone opens that tagged address in Chrome, it counts as 1 visit from the code. Chrome builds a code for the tab you have open, per Chrome's help.

  • On a computer. Open the page. Select More > Cast, save, and share > Create QR code. You can then copy the link, click Download to save the image, or scan the screen with a camera on another phone.
  • On Android. Next to the toolbar, tap More > Share and pick QR Code. Follow the prompts on the screen to share or download the image (Android help).
  • On an iPhone or iPad. At the top of the screen, tap Share > Create a QR Code. Tap Share below the code to send or save it (iPhone and iPad help).

If you pick another QR code generator, paste your published web address into its URL field. Watch out for tools that turn off codes later. QR TIGER's site notes that dynamic codes can expire on a set date, and warns: “You can also let your QR code expire after it reaches a particular number of scans.” Before you print copies, scan the code once with your phone. Confirm the preview shows your exact page address, including ?utm_source=qr if you added tracking.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and in other countries.

Before you print or project the code

You cannot edit a printed code. The address it holds must keep opening the page.

  • Use the published address. The box's preview link stops working after 3 minutes. A flyer made from it is dead before it is printed.
  • Change the page, not the address. Type the change into Improve with AI on the page's dashboard screen. Each edit uses AI credits: 1 on the default model. Free accounts start with 10. Or connect Convika to Claude, Codex, or another MCP client, and ask it to save your edited HTML as a new version of the same page. Click Publish. The printed code opens the new version, and the address stays unchanged. An edited file works the same way: upload it under New version from a file on the page's screen, then publish it. Upload an HTML file in the dashboard makes a new page with a new address, which the printed code does not open.
  • Test the scan on 2 phones. Scan it with an iPhone and an Android phone, from as far away as people will stand. Check that the page fits the phone's screen. A scan opens the page on the scanning device.
  • Print it large enough. QR TIGER's guide sets 32 mm by 32 mm (1.25 inches) for a printed code. For a poster, use a tenth of the scanning distance. The guide also says, “use dark colors for your pattern and light colors for your background.”
  • Keep the page published. After you click Unpublish, the code stops opening the page. Free accounts get 10,000 pageviews a month across your pages. Once a month's pageviews reach that, editing pauses, and 7 days later the code opens a notice that the page is paused, until the month ends or you upgrade. In a workspace created before October 23, 2026 (Japan time), this starts on November 1, 2026.
  • Use your own domain for a code that has to last for years. An address like www.yourname.com keeps working if you move the page to another host later. Free connects 1 custom subdomain.

Sharing a page or a game with your class

You have a quiz, worksheet, or game made with ChatGPT, Claude, or Gemini. Students open it on tablets or Chromebooks. Publish your file as in the steps above, then give the class the address 2 ways.

  • A QR code on a slide or a worksheet. Click Show QR code on the page's screen to project the code as is. You can also click Download PNG to put the code on a slide or print it on the worksheet. On an iPad, students open Camera, hold the iPad so the code is in the frame in Photo mode, and tap the link at the bottom of the screen (Apple's iPad User Guide). On a Chromebook, students go to Camera, select Scan, choose QR code, and tap the address shown (Google's Chromebook Help). A laptop's camera faces the student. For Chromebooks, a code on a printed worksheet is easier to hold up than one on the screen.
  • A link on the board. Write the address on the board for anyone whose camera can't read the code. An uploaded page's address ends in a few random letters and numbers, so students must copy it exactly. The code saves typing.

One address beats sending the file to every student. Each device opens a file its own way. We tested an .html file on iOS 26.3 in Apple's iPhone Simulator, and the Files app preview ran none of its JavaScript. A quiz in it wouldn't respond. When you fix a mistake and publish again, every student scanning the same code gets the fixed page.

  • A game or a quiz in one file runs on the published page. In our test on October 13, 2026, a one-file game's script, key presses, taps, sound, and a best score saved in the browser all worked on a Free page in Chromium, Firefox, and WebKit. A call to another site does not work, such as an AI model's API or a leaderboard on another server. A Convika page sends requests only to its own address. This runs on every plan. Pro adds only the analytics tools it supports, such as Google Analytics.
  • Keep the page out of Google, or write a password on the board. On the free plan a published page is Public: anyone who scans the QR code can open it without an account or password, and it may show up in search results and in Convika's gallery. To keep it out of both, choose Private link (Pro or pass) in the confirmation when you publish; Convika then tells search engines to keep it out of their results and leaves it out of the sitemap. Because anyone who scans the code can open the page—and a photo of a slide or flyer travels—you can also pick Only people with the password in the publish dialog (or under Page password in Site settings) and write the password on the board for your class. Search engines see just the password screen, and a page password is included with Pro ($12 a month). See How to password protect an HTML page.
  • If students already got the file. Use the free HTML viewer with no upload. Open only the file you sent. Turn off Run scripts before choosing any file they weren't expecting. Then no scripts run, and forms can't send. Tap Choose an .html file and pick it.

Before class, scan the code from the back of the room on one of the class's own devices. If you built your page in Claude, take its HTML out of Claude first. A Claude artifact's Share link opens only for people with a Claude account, which students under 18 can't have (how to share a Claude artifact with students). For a quiz or review game, see a prompt that makes one and steps for Google Classroom and Padlet in how to share an AI-made quiz or game with students.

See how many people scanned it

A scan counts once the phone opens the page. Convika counts it as a visit, like any other. Your page analytics show visits by day, country, device, and where visitors came from, for the last 90 days on Free. The code from Show QR code holds the untagged address, so its scans count with other visits. To tell scans apart, generate a code in Chrome or another generator from your address with ?utm_source=qr at the end. The Campaigns (UTM) card then lists visits, form entries, and button clicks that came through the code. If you have 2 flyers, use a tag each, such as ?utm_source=qr&utm_campaign=menu. Counts include your own test scans, and they do not show who scanned. You can find the numbers explained in How to see who visits your page.

Frequently asked questions

Can you turn an HTML file into a QR code?

Yes, you can turn an HTML file into a QR code by putting the file online and generating the code from its web address. A QR code holds a link instead of the file itself. Put the file in the box on this page without an account, or create a free account to keep the page published at an address that stays. In your Convika dashboard, click Show QR code next to the page's address. You can also use Chrome's Create QR code, or any QR code generator. When someone scans the code, their phone opens the page in their browser.

How do I make a QR code for an HTML page for free?

You make a free QR code by publishing your file on Convika's Free plan, which requires no credit card. Drop your file into the box on this page, keep the page, and select Publish. Next to the address in your dashboard, click Show QR code, then select Download PNG. Chrome also creates codes for free. On a computer, open the page and select More > Cast, save, and share > Create QR code > Download. On Android, select More > Share > QR Code. On an iPhone or iPad, select Share > Create a QR Code.

Why does my QR code stop working?

Your QR code stops working because the destination page at its address changed. A printed code cannot change once printed. Scan the code and look at the link your phone shows to identify which address it holds. Usual causes include a code that holds a preview link from this page's box, which works 3 minutes. The page was unpublished, or you uploaded the file again with Upload an HTML file, which makes a new page with a new address. Some third-party generators also create expiring codes; QR TIGER's page says its dynamic codes can be set to.

Can I change the page after printing the QR code?

Yes, you can change the page after printing, as long as the page's address stays the same. Change the content with Improve with AI on its dashboard screen, or ask Claude, Codex, or another MCP client connected to Convika to save the new HTML as a new version, then select Publish. The address remains unchanged, so the printed code opens the new version. For a file you edited elsewhere, use New version from a file on the page's screen, not Upload an HTML file in the dashboard, which makes a new page with a new address. If an edit goes wrong, roll back to an earlier version.

How do I see how many people scanned my QR code?

You see how many people scanned your QR code by counting the visits the code brings to your page. Add ?utm_source=qr to the page's address, then create the code from that address in Chrome or another generator, since Convika's Show QR code holds the untagged address. In your page analytics, open the Campaigns (UTM) card to see visits, form entries, and clicks through it for up to 90 days on the Free plan. A scan counts when a phone opens the page. Your own test scans count too.

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

More ways to send your page

Share this article

A QR code holds the page address instead of the file

Upload your HTML file and publish it. The dashboard shows its QR code. The address stays when you publish a changed version, so a printed code opens the newest one.

Get your QR code link

Free plan: no credit card, 1 published page, 50 form entries a month.