QR code attendance sheet: people scan, sign in, and the names land in a list
Quick answer
For a plain list of names, a Google Form behind a QR code is the free, proven sheet. If ChatGPT or Claude already made your attendance page, its form usually sends nowhere. Add a Convika form, publish, and show the QR code: each check-in is emailed to you and listed with its time, ready to export as CSV.
Free plan: no credit card, 1 published page, 50 form entries a month shown and emailed.
On this page
- Google Forms or your own page: which sheet to use
- Why the attendance page the AI made records nothing
- Make the page save every check-in in 4 steps
- Put the code where people scan it
- Read the list
- One page for the whole course
- Fixed hours, one scan per person, and what a page can't enforce
- Who can see the page and the names
- Frequently asked questions
- Sources
ChatGPT made you an attendance page in a minute: a name box, a mobile number box, a big Mark attendance button, and the session hours. It looks finished. Then the first person scans the code, presses the button, and sees "Attendance marked". Nothing reaches you. The page kept the name in that person's own browser, or nowhere at all.
This guide covers when a Google Form is the better sheet, how to make the AI's page save every check-in, and what no attendance page can check for you. The Google, Jotform, and AttendMe pages quoted were read on October 22, 2026.
Google Forms or your own page: which sheet to use
For a plain list of names, use a Google Form. You build the form, copy its link, and turn the link into a QR code. Names land in the form's Responses tab, and Link to Sheets puts them in a spreadsheet. AttendMe's guide walks through that route and calls it free, with a Google account.
Use your own page when the sheet should look like your course, show today's date and the session times, or greet people in your words. That is the page ChatGPT or Claude already made you. It only needs something to receive the entries.
| Route | Cost to start | Where the names go | Closing at a set time | One entry per person |
|---|---|---|---|---|
| Google Forms and a QR code generator | A Google account; AttendMe's guide calls the route free | The Responses tab, a linked Google Sheet, or a CSV download | Yes: Set close date or response limit | Limit to 1 response, which makes each person sign in to a Google Account |
| Jotform | Starter plan, free: 5 active forms, 100 monthly submissions, Jotform branding on the form | Jotform's submissions and Jotform Tables | Yes: Disable on Specific Date | Jotform's help points to its Unique Submissions feature |
| A page your AI made, with a Convika form | Convika's Free plan, no card | An email per entry, the list under Forms with each entry's time, and Export CSV | No: an hours rule in the page runs on each phone | No check |
Sources for the table: Google's help on publishing a form and managing responses, Jotform's pricing and its help on time and response limits, and AttendMe's Google Forms guide. Convika's row comes from its own code.
A whole room on one Wi-Fi network changes the answer. Convika's form takes up to 5 entries a minute and 20 an hour from one internet address, counted across all Convika forms. Phones on the same Wi-Fi usually reach the internet through one shared address. So the 6th person in the same minute sees "That didn't go through. Try again in a minute." and has to press the button again a minute later. Once 20 have come through in an hour, the next ones from that network fail until the earliest of them is an hour old. For a class of 30 on the school network, use Google Forms. Convika's form fits people who sign in over their own connections, such as mobile data, or a small group on one network that signs in over a few minutes.
Why the attendance page the AI made records nothing
A form only collects what people type. Something on the other end has to receive it. A single HTML file from ChatGPT, Claude, or Gemini has no other end, so its form usually takes one of these shapes:
- A script that says "Attendance marked" and stops there. The name never leaves the phone.
- A script that saves the list in the browser's storage. The list sits on each person's own phone, one name per phone. You never see it.
- A form with no
action, oraction="#". Pressing the button reloads the page and drops the entry.
When you upload a page like this, Convika checks its forms. A form that asks for details and sends nowhere gets a notice on the page's screen: "A form on this page sends entries nowhere", with Replace with a Convika form. It can't spot every form that sends nowhere, so the steps below start by asking the AI for a clean spot for the form.
Make the page save every check-in in 4 steps
1. Ask the AI for a spot for the form
Paste this into the chat where the AI made your page. It removes the AI's own form and leaves one empty line where Convika puts its form.
Change this attendance page so a Convika form collects the entries.
- Remove the <form> and its script, and put exactly one empty <div data-convika-form></div> where the form was. Don't write a form of your own.
- Show today's date in large type at the top, such as "Tuesday, November 3".
- Keep the course name, the session times, and the welcome line as they are.
- Large text that reads on a phone held upright.
- One HTML file with the CSS and JavaScript inside. Don't send anything anywhere.
No page yet? Ask for one with the same lines: the course or event name, today's date, the session times, a line telling people to press the button once, and the empty <div data-convika-form></div>.
2. Upload the page and keep it
Drop the .html file into the box at the top of this page, or switch to Paste code and paste it. Click Get my preview link to check the layout on your phone. That link works for 3 minutes, with scripts and forms off. Click Keep this page — free, no card and sign up. The page moves into your account.
3. Add the form
On the page's screen, click Add a form to my page. Pick the fields Name, email, and message. There's no phone field, so change the label of the message field to "Mobile number", or "Student ID". If you don't need email addresses, untick Required next to the email field. Change the button text to "I'm here" and the message after sending to "You're signed in for today." Click Add form to my page. The form goes exactly where the AI left the empty line.
4. Publish, sign in once yourself, and show the QR code
Click Publish. Under Who can open this page?, choose Public, then click Next. The first time you publish, Convika then asks for a plan. Pro monthly is marked Recommended: Pro ($12 a month, after a free 7-day trial with a card). The Pro 1-year pass is $29, with no renewal. To publish on Free, pick Free and click Publish free. The page goes live at an address like yourpage.convika.page.
Open the live address on your phone and sign in once yourself, over mobile data rather than the room's Wi-Fi, since your test counts toward that network's limit. Entries sent from a preview aren't saved, so test only on the live page. Your entry should appear under Forms on the page's screen and arrive by email. Then click Show QR code next to the Live URL, and project it, or click Download PNG to print it.
Put the code where people scan it
- On the screen as people arrive. Show QR code opens the code large, with the address under it, ready to project.
- On the door or the desk. Click Download PNG and print it. The QR code guide's print checks give a size for paper and posters.
- Scan it on 2 phones first, an iPhone and an Android if you have them. The link shown must be the address under Live URL.
- Count scans apart from other visits. Make a code from the address with
?utm_source=qradded, using Chrome or another QR generator, as in How to turn an HTML file into a QR code. The page's analytics then list visits from the code under Campaigns (UTM).
The code holds the page's address, so it keeps working when you fix the page and publish again. It stops opening the sheet if you click Unpublish, or swap another page in for this one. Keep the page published until the course ends. Once a Free workspace's pages reach 10,000 page views in a month, editing and analytics pause, and 7 days later the pages stop until the month ends or you upgrade. That applies from sign-up to workspaces created on or after October 23, 2026, and from November 1, 2026 to earlier ones.
Read the list
Each entry is emailed to you as it arrives. Past 5 entries in a minute, or 100 in a day, on one form, the rest aren't emailed one by one: one email a day says how many there were, without the names. Read the list in the dashboard, which shows every entry right away.
On the page's screen, under Forms, click View submissions. Each row shows the date and time Convika received the entry, in your own time zone, then the fields. That time comes from Convika's clock, not the phone's. Export CSV downloads the list for Excel or Google Sheets. Its Date column is in UTC (the time ends in Z), so convert it to your time zone before you split the sessions by date, or read the times in the dashboard list.
On Free, Convika shows and emails the first 50 entries a month, across all your forms. Entries past that are still saved, and Pro or the 1-year pass shows them. A class of 30 that signs in at every session passes 50 in its second session. Pro is $12 a month and shows every entry.
One page for the whole course
Keep one attendance page for the whole course: one form, one list, and the page shows the day's date. You don't need a page per session. The list's time column tells the sessions apart.
On Free, a workspace publishes 1 page at a time. Publishing a second page, such as a page per session, opens a choice. You can publish it on Pro ($12 a month, after a free 7-day trial with a card). Or you can swap it in for the live page, which goes back to a draft so its address stops opening. Nothing is deleted. A swap also stops a printed code for the old page. This is the rule for workspaces created on or after October 23, 2026. Earlier workspaces keep the plan they signed up for.
Fixed hours, one scan per person, and what a page can't enforce
The AI may have written "only 9:30 to 12:30" into the page. That rule runs in the browser on each phone. A phone with its clock set wrong, or anyone who opens the page's code, can get past it. Convika doesn't check hours when an entry arrives. What you do get is Convika's own time on each entry, so a late check-in shows as late in the dashboard list.
Convika doesn't stop a second entry from the same person, and it can't tell who is holding the phone. Nobody can, from a web page. These help:
- Watch the room while people scan, and compare the list with the faces.
- Say a word of the day aloud, and ask for it in the form. Relabel the message field "Mobile number and today's word". A name sent from home won't have it.
- Show the code for 5 minutes, then take it down.
Who can see the page and the names
On Free, the page is published as Public: anyone with the link can open it, and it may show up in search results. Convika's gallery doesn't take pages with a form. The names and numbers people type aren't on the page. They go to your email and your dashboard.
To keep the page itself out of search results, choose Private link when you publish, which comes with Pro or the 1-year pass. Anyone with a private link can still open it. If only people who know a password should open it, choose Only people with the password, which comes with Pro.
Names and mobile numbers are personal data. Ask only for what you need, and follow your school's or employer's rules on collecting and keeping them. Convika's Privacy Policy covers what Convika stores.
Frequently asked questions
My ChatGPT attendance page has a form, but the entries go nowhere. How do I make it save who scanned?
A form ChatGPT writes into one HTML file has nothing on the other end to receive entries, so it shows a thank-you and drops them. Ask ChatGPT to remove its form and leave one empty <div data-convika-form></div>. Upload the page to Convika, click Add a form to my page, publish, and send a test entry from the live page. Then show the page's QR code. Each check-in is emailed to you and listed with its time.
How do I make a QR code attendance sheet for free?
Make a Google Form with name fields, copy its link, and turn the link into a QR code. Responses land in the form's Responses tab. If ChatGPT or Claude already made an attendance page, publish it on Convika's Free plan with a Convika form, then click Show QR code. Each check-in is emailed to you and listed with its time.
Can I take attendance with a QR code and Google Forms?
Yes. Create the form, publish it, copy the responder link, and make a QR code from the link with any generator. Link to Sheets sends the names to a spreadsheet. Limit to 1 response stops repeat entries, but makes each person sign in to a Google Account. Set close date or response limit closes the form at a time you choose.
How do I track attendance with a QR code in Excel?
Collect the check-ins with a form, then download them as a CSV file and open it in Excel. Google Forms has Download responses (.csv). A Convika form has Export CSV, with a Date column that holds the time each entry arrived, in UTC. Convert it to your time zone, then sort the sessions apart.
Can students scan a QR code to mark attendance?
Yes, with the camera on a phone, an iPad, or a Chromebook. On one school Wi-Fi network, though, the phones usually share one internet address, and a Convika form takes up to 5 entries a minute and 20 an hour from one address. Past 5 in a minute, students wait a minute and press the button again. For a class of more than 20 on the school network, use Google Forms. Check your school's rules on collecting students' names.
Is a QR code attendance system free?
A Google Form with a QR code from a free generator costs nothing but a Google account. Jotform's Starter plan is free for 100 monthly submissions. On Convika's Free plan, the first 50 entries a month are shown and emailed; later ones are saved, and Pro or the 1-year pass shows them.
How do I stop someone scanning for a friend?
You can't stop it from a web page. A page can't tell who holds the phone. Watch the room while people scan, ask for a word you say aloud in the room, or show the code for only 5 minutes. Then check the list against who was there.
Sources
- Publish & share your form with responders (Google) (checked October 22, 2026)
- View & manage form responses (Google) (checked October 22, 2026)
- Jotform pricing (checked October 22, 2026)
- How to Add Time and Response Limit to Your Form (Jotform) (checked October 22, 2026)
- How to use QR codes to track attendance with Google Forms (Jotform) (checked October 22, 2026)
- Track attendance for free with Google Forms, QR codes & Excel (AttendMe) (checked October 22, 2026)
Next step
How to see who visits a page you made with AI
Count visitors and see where they came from on a page ChatGPT, Claude, or Gemini made. GA4, Cloudflare, Plausible, Clarity, and Convika compared.
Related articles
- My ChatGPT-made website form doesn't send anything. How do I fix it?The form on a page ChatGPT or Claude made says thanks, but nothing arrives. Find the cause in 2 minutes, then fix it with a form service or on Convika.
- Turn an HTML file into a QR code people can scanA QR code holds a link, never the file. Publish the HTML page at an address that stays. Show its QR code in the dashboard and download it as a PNG.
- Make a wedding RSVP page guests reach from a QR code on the invitationZola, The Knot, and Joy make free wedding sites with RSVPs. To use a page ChatGPT or Claude wrote instead, add a reply form and print its QR code.
- How to make the signup form on your AI-made page actually workThe form ChatGPT or Claude wrote sends entries nowhere. Compare Formspree, Netlify Forms, Google Forms, and Convika, then set one up step by step.
- ChatGPT flashcards as a link your study group opens on a phoneChatGPT makes flashcards in chat, and Quizlet's ChatGPT app turns them into a set to share. Or publish a flip-card page of your own: no app, no account.