How to Create a QR Code for Google Form in 7 Steps

Printed a QR code for your Google Form, and now you can’t tell which poster produced the responses?
I build QR and link tracking at linkutm, so I wanted to know what really happens after the scan. On 5 November 2026, I tested 7 live public forms and 5 types of Google Form link. The most important decision turned out not to be the generator. It was the link you put inside the code.
Here’s the short version:
| Your situation | Encode this link | Why |
|---|---|---|
| One code, one place, and the form will stay open | forms.gle short link |
Short, free, and needs no account |
| A code per table, room, or poster, with no tracking tool | Pre-filled responder link | Each response carries its own label, but the code gets denser |
| You need scan counts or may change the form later | Your own managed short link | The code stays small and the destination stays editable |
| Anything | Never the /edit link |
Scanners get “Request edit access” |
To create a QR code for a Google Form, publish the form, copy its responder link, paste that link into a QR code generator, then test the code on two phones before printing. Google Forms has no built-in QR code feature, so the code always comes from another tool.
Disclosure: linkutm sells QR codes, including the managed option above. I’ve listed the free routes first, and they’re enough for plenty of forms.
How Does a QR Code Connect to a Google Form?
A QR code never talks to Google Forms directly. It’s a printed container for text, and here that text is a URL. The phone reads the URL and opens the form. Google Forms then stores the answers and can send them to a Google Sheet.
That chain explains almost every failure:
- QR code: Stores the link. It can’t change after printing.
- Responder link: The public address people use to answer your form. It’s different from the editor address in your browser.
- Short link (optional): Sits between the code and the form. It can count scans and change destination.
- Google Form: Controls access and collects answers. It doesn’t count scans.
- Google Sheets (optional): Receives each response as a row, so a label in an answer becomes a column you can filter.

The limitation is simple: no single tool sees the whole chain. The code can’t report scans, and the form can’t report views. Measuring both takes a short link in the middle or some manual counting.
How to Create a QR Code for Google Form: 7 Steps
The order matters because most errors happen before the generator. Google’s menus also changed when it added the Publish button, so older guides telling you to “click Send” may not match your screen.
Follow these steps to create a QR code for a Google Form:
- Publish the form. Click Publish at the top right. Google says that if a form is unpublished, responders with the link can’t access it.
- Set who can respond. Under General access, choose anyone with the link for public use. Keep it restricted for an internal form.
- Remove accidental sign-in walls. Turn off Limit to 1 response and remove file upload questions unless you need them.
- Copy the responder link. Click Share or Published, then Copy responder link. Tick Shorten URL if you want a
forms.glelink. - Add a label if needed. For a per-placement code, click More, select Pre-fill form, enter the label, click Get link, and copy it.
- Generate the QR code. Paste the link into a Google Form QR code generator and download SVG for print or PNG for screens.
- Test on two phones. Use one iPhone and one Android phone, logged out of Google if possible, at the final printed size.
I prefer testing logged out because your own session hides problems. An owner who is signed in won’t see the wall that a stranger hits.
These steps come from Google’s publishing help as of November 2026. Google can move these controls again, which is the honest limitation of any click-by-click guide.
Which Google Form Link Should the QR Code Use?
Use the shortest link that still does the job, because every extra character makes the code denser. In my test, a real responder link was 113 characters long. A forms.gle link was 35. That gap changes the QR version, which is the code’s grid size.

Here’s what each link type produced. “Both readers” is the smallest tested on-camera width where zxing-cpp and OpenCV each decoded at least 38 of 40 simulated captures. Smaller is more forgiving.
| Link type | Characters | Level M grid | Level H grid | Both readers, level M | Both readers, level H |
|---|---|---|---|---|---|
| Managed short link | 22 | V2, 25 modules | V3, 29 modules | 115 px | 129 px |
forms.gle short link |
35 | V3, 29 modules | V5, 37 modules | 148 px | 180 px |
| Responder link | 113 | V7, 45 modules | V10, 57 modules | 185 px | 195 px |
| Pre-filled, 1 field | 150 | V8, 49 modules | V12, 65 modules | 171 px | 365 px |
| Pre-filled, 3 fields | 206 | V10, 57 modules | V15, 77 modules | 260 px | 425 px |
Test: segno codes on padded .example URLs matched to the real lengths, 40 trials per setting, simulated camera capture. Width includes the quiet zone. The width steps are coarse, which is why 171 px sits below 185 px, so read the trend and not each cell.

Two terms matter here. A QR code version sets how many modules, or small squares, the grid has. QR code error correction is the redundancy that lets a damaged code still scan, and it comes in levels L, M, Q, and H.
Level H adds a lot of density. Our free generator always uses H, so a one-field pre-filled code there is a V12 grid. At a 30 mm print, each module is only 0.46 mm wide.
Look, the practical rule is proportional. At level H, the one-field pre-filled code needed about 2.8x the on-camera width of the managed short link (365 px vs 129 px). If a short link works at 3 cm on a handout, I’d print that pre-filled code at about 8 cm for the same scanning conditions.
The limitation is that these were simulated captures, not real phones in a real room. Use them to compare link types, then confirm with the two-phone test. For print details, see my QR code printing guide.
Three Link Behaviors I Confirmed on Live Forms
I sent GET requests to 7 public forms with a mobile browser header, and submitted nothing:
forms.gledrops anything you add. All 7 redirected once to a/viewformURL. A query string added to the short link, with both a UTM tag and a pre-fill value, was gone after the redirect on all 7.- Pre-filling works through the URL. Adding
entry.<id>=valueto the/viewformlink put that value in the page on all 7, with no sign-in. /editlinks don’t hand over your form. I tried 2 public form edit URLs without edit rights. Both showed “Request edit access”, plus the form’s title and intro text.
That last one corrects common advice. A stranger who scans an edit link can’t rewrite your questions unless you’ve given them edit rights. But the code is still useless to them, and it reveals your form’s title and intro text.
Why Does My Google Form QR Code Ask People to Sign In?
A sign-in prompt usually comes from a form setting, not the QR code. It stops anyone without a Google account, and even people with one may abandon the form when asked to log in on their phone.
| Setting | What the scanner sees | Fix for public use |
|---|---|---|
| Form not published | Can’t access the form | Click Publish |
| General access restricted | Blocked or asked to sign in with an allowed account | Choose anyone with the link |
| Limit to 1 response on | Must sign in | Turn it off |
| File upload question | Must sign in | Remove it or link to another upload route |
Here’s the trade-off. Removing the sign-in also removes your simplest duplicate control, so one person could answer twice. I’d accept that for event feedback. I wouldn’t for a vote, a competition, or anything with a prize attached.
Should a Google Form QR Code Be Static or Dynamic?
Choose static when the form and the printed material share the same short life. Choose dynamic when the print will outlast the form or you need scan counts. A static QR code stores the form’s URL itself. A dynamic QR code stores a short link you can repoint later.
| Method | Type | Editable after printing | Counts scans | Best for |
|---|---|---|---|---|
| Chrome’s built-in generator | Static | No | No | A quick on-screen share |
| Free Google Form QR tool | Static | No | No | Print with no account |
| Dynamic QR code | Dynamic | Yes | Yes | Reusable print and tracked placements |
I’d use static for a one-off classroom quiz. I’d use dynamic for anything laminated, like a machine maintenance sign or a table tent. When next term’s form replaces this term’s, you change the destination and keep the sign.
The honest downside of dynamic is that you add a dependency. The scan now passes through a vendor’s server, and you need an account. The full comparison lives in static vs dynamic QR codes.
How to Track Which QR Code Produced Each Response
Use a separate pre-filled link for each placement. Google Forms can’t tell you where a response came from by itself, and a UTM tag won’t fix that.
Say you run feedback at a three-room event:
- Add a short-answer question called “Room”.
- Open More, then Pre-fill form. Type
room-a, click Get link, and copy it. - Repeat for
room-bandroom-c. - Make one QR code from each link and put each in its own room.

Every response now includes the room. Filter that column in Google Sheets and you have results per placement, with no paid tool.
There are real limits. Google Forms has no hidden field, so respondents see the label and can change it. If you delete the label question, the links lose their place to put it. A choice question can also only be pre-filled with an option you’ve created. And because forms.gle drops added parameters, I wouldn’t plan on shortening these links by hand.
Why UTM Parameters Don’t Work on a Google Form
UTM parameters need an analytics tool on the destination page to read them, and you can’t add your own to a Google Form. I found no Google Analytics or Tag Manager tag in the page HTML of any of the 7 forms. A tagged link still opened normally, but there was no report for the tags to reach.
One caveat: I didn’t submit responses to other people’s forms. So this rests on the page check and Google’s documented response data, not on a filled-in sheet. If you do need GA4 data, put a UTM-tagged landing page in front of the form or embed the form on your own site.
How to Measure Scans vs Responses
Compare scans from the short link with responses from the form. Google Forms gives you the response count, while scan counts must come from whatever sits in front of it.

The sum is simple. Say a poster’s short link gets 200 scans and the room label collects 50 responses. That’s a 25% scan-to-response rate. It’s a made-up example, but the calculation works for any form. When scans are high and responses are low, the form is the problem. When scans are low, look at the placement, using a QR code scan rate estimate if you know how many people saw it.
Linkutm’s free plan includes 25 QR codes a month with editable destinations and scan tracking, and each scan is recorded with location, device, and referrer. If you want one long-term record per placement, make one managed link per placement and use the pre-filled URL as its destination. The code stays small, and the label still reaches the sheet.
The limitation is that scans aren’t people. One person scanning twice counts as two scans, and link preview bots can add noise, so treat the rate as a comparison between placements rather than a precise figure.
What Breaks a Google Form QR Code After Printing?
The printed code rarely fails by itself. Usually something changes at the form end, and a static code has no way to adapt.
| What changed | What scanners see | Can you recover without reprinting? |
|---|---|---|
| You turned off Accepting responses, or a close date or limit was reached | A closed message, which can be customized | Yes: reopen, or repoint a dynamic code |
| You unpublished the form | No access | Yes: publish it again |
| You duplicated the form and retired the old one | The old form | Dynamic only |
| You deleted the form | Error page | Dynamic only |
| You changed questions | The updated form, with the same link | No fix needed unless you removed a label question |
For the wider picture, see do QR codes expire. If the code won’t scan at all, use my QR code troubleshooting guide. If your form exists to build an email list, the consent and funnel issues are different, so read QR codes to collect email addresses.
Frequently Asked Questions
Can Google Forms generate a QR code by itself?
No. Google’s sharing options cover email, links, social media, and embedding, and there is no QR option in that help page. You need a separate tool. Chrome’s built-in generator, a free generator, or a dynamic QR platform all work, as long as you give them the responder link.
Can people fill out a Google Form from a QR code without a Google account?
Yes, if the form is published to anyone with the link and nothing forces sign-in. Limit to 1 response and file upload questions both require sign-in. Test in a logged-out browser, because your own session hides the prompt.
Why does my Google Form QR code say “Request edit access”?
You encoded the editor link instead of the responder link. Editor links end in /edit, and people without edit rights can’t use them. Copy the link from Share or Published using Copy responder link, then make a new code. A static code must be reprinted.
Will my QR code still work if I edit the Google Form?
Yes. Editing questions doesn’t change the responder link, so the code opens the updated form. The exception is a pre-filled label: if you delete its question, that label has nowhere to go. Duplicating a form creates a separate form, so old codes keep pointing at the original.
Do Google Form QR codes expire?
A static code doesn’t expire, but the form behind it can close. Once you stop accepting responses, or a close date or limit is reached, scanners see a closed message. A dynamic code can be repointed to a new form without reprinting.
Can I see how many people scanned my Google Form QR code?
Not in Google Forms. It reports responses, not scans or views. A dynamic QR code or tracked short link counts scans before sending people to the form. Compare that with your response count to get a scan-to-response rate.
Can I create a Google Form QR code on my phone?
Yes. On Android, Chrome’s Share menu includes QR Code, and on iPhone or iPad it includes Create a QR Code. Check the address first. If you’re viewing the form’s editor, you’ll encode the wrong link, so open the responder link before you share it.
Make the Code Last Longer Than the Form
Here’s what I’d do today. Publish the form, open it logged out, and decide whether you need labels or scan counts. If you don’t, a forms.gle link in a static code is all you need.
If the sign will outlive the form, or you want to compare placements, create a trackable QR code with linkutm. The free plan has no credit card requirement. Make one code, scan it on two phones, and then send it to print.