QR code for

QR code for a Google Form

Copy the form's share link, paste it below, download the code. People scan, the form opens on their phone, the answers land in your spreadsheet.

In the form, click Send โ†’ Link, and turn on Anyone with the link.

Free to download. Save it to edit the link later.

QR code preview

Real-time encoding // READY

Watch it: a Google Form

A school desk: a card propped on a stack of notebooks with a QR code reading Scan to sign up, a clipboard, a pencil cup, an apple, a hand holding a phone toward the card, a window behind

Which Google Form link to use

In the form editor, click Send (top right), then the link icon. Google gives you the full link and a "Shorten URL" checkbox; either works here. Do not use the link from your browser's address bar while editing: that is the edit view and people will get an access request instead of the form.

If you want the form to open already filled in (a class name, an event, a table number), use Google's "Get pre-filled link" from the three-dot menu, fill the fields, copy that link instead. One code per variation: the Monday class and the Tuesday class each get their own pre-filled link and their own code.

Making the form phone-friendly

Almost everyone who scans is on a phone, so keep the form short, one question per section for long ones, and avoid grid questions, which are hard to answer on a small screen. Turn on "Collect email addresses" only if you need it; a sign-in prompt is where most people give up.

Put a sentence under the code saying what the form is and how long it takes: "Scan to sign up, 30 seconds" beats a bare square on a noticeboard.

  • Sign-up sheets on a door or noticeboard: 2 in (5 cm) code at eye level.
  • Surveys on a table card or receipt: 1 in (2.5 cm), with the incentive-free ask.
  • Permission slips in a newsletter: 1 in (2.5 cm), and the pre-filled link with the event name.
  • Attendance or check-in at the door: one code per session, each with its own pre-filled link.

Responses and closing the form

Responses land in the form's Responses tab and, if you link a sheet, in Google Sheets in real time. When you close the form (Responses, "Accepting responses" off), people who scan see Google's closed message. With a dynamic code you can instead point the code at a thank-you page or the next form so the printed code never dead-ends.

Why make it dynamic

Forms get replaced. The sign-up sheet becomes next term's version, the survey gets a new question and a new link, the RSVP form closes and a waitlist form opens. A dynamic code on the flyer, the poster or the classroom door keeps working through all of that: you edit the destination in your dashboard and the paper on the wall stays. It also counts scans, so you know how many people opened the form versus how many answered.

Dynamic codes are part of Premium, $4 a month. Static vs dynamic, explained.

Step by step

  1. 1

    Open the form and click Send

    Open your form in the editor. Send is at the top right, next to your profile picture.

    Field trip permission slipSend
    QuestionsResponsesSettings
    Field trip permission slip
    Science museum, Friday May 8. Please reply by May 1.
    Student name
    Will your child attend?
    Yes
    No
    The form editor. Send is top right.
  2. 2

    Switch to the link tab

    The Send box opens on email. Click the middle tab, the chain link icon. That is the link people will scan.

    Send form
    โœ‰๐Ÿ”—< >
    https://docs.google.com/forms/d/e/1FAIpQLSc.../viewformCopy
    Shorten URL
    Send box, link tab selected.
  3. 3

    Tick Shorten URL, then Copy

    Shortening is optional and worth it: a shorter link means fewer squares, and fewer squares still scan when the code is printed small or read from across a room. Do not use the link in your browser's address bar. That one ends in /edit and anyone who scans it gets a "You need access" screen instead of your form.

    Send form
    โœ‰๐Ÿ”—< >
    https://forms.gle/mK8rT2qN4xPv9Copy
    โœ“Shorten URL
    Ticked, and the link is now short.
  4. 4

    Optional: a form that opens already filled in

    To tell the Monday class from the Tuesday class in one spreadsheet, use the three dot menu and Get pre-filled link, fill the field you want locked, and copy that link. One code per variation.

    Undo
    Make a copy
    Move to trash
    Get pre-filled link
    Print
    Three dot menu, next to Send.
  5. 5

    Paste the link into the box above

    The Google Form type is already picked for you. The code appears as you paste, with no button to press.

    QRFLOW.codes
    Google FormURLWi-FivCardMore
    Form link
    https://forms.gle/mK8rT2qN4xPv9
    SCAN TO SIGN UP
    Live preview

    Redraws on every keystroke. Nothing to submit.

    The generator at the top of this page.
  6. 6

    Add the words that tell people what it is

    A bare code on a wall gets ignored. A frame reading "Scan to sign up" or "Scan to answer" gets scanned.

    QRFLOW.codes
    Frame
    NoneCaption belowRounded cardRibbon
    Caption
    Scan to sign up
    Caption and frame.
  7. 7

    Download PNG or SVG

    PNG for a flyer, a slide or an email. SVG for anything a print shop touches, because it stays sharp at any size. Both are free.

    QRFLOW.codes
    DOWNLOAD PNGDOWNLOAD SVGSAVE TO MY DASHBOARD
    Under the preview.
  8. 8

    Scan it yourself before printing a stack of them

    Point your phone camera at the code on screen. You should land on the live form, not a sign-in page and not a request for access. Thirty seconds now instead of a reprint later.

    Field trip permission slip
    Student name
    Will your child attend?
    Yes
    A correct scan opens the form itself, with no sign-in.
  9. 9

    Save it if the form will ever be replaced

    Next term's sign-up is a new form with a new link. A saved code points wherever you say, so you edit the destination and the paper on the classroom door keeps working. It counts scans too, which tells you how many people opened the form against how many answered.

    QRFLOW.codes
    Where this code goes
    https://forms.gle/nextTermSignUp
    SAVEThe printed code does not change.
    The code's page in your dashboard.

Questions people ask

How do I get the QR code for my Google Form?
Google Forms doesn't make one itself. Copy the form's link from Send, then the link icon, paste it into the generator on this page, and download the code. The longer version, on how big to print it and the link that keeps working, is in Google Form QR code size.
Can Chrome make the QR code for me?
Yes. With the live form open in Chrome on a computer, click the share icon in the address bar (or right-click the page) and choose Create QR code; Chrome shows a plain code with its dinosaur in the middle that you can download. It is a static code of the long link, so it cannot be edited or counted later. Make it here when you want a caption, your colors, an SVG for print, or a code you can repoint next term.
Which link should I use, the long one or the shortened one?
Either. The shortened forms.gle link makes a simpler code that scans a little more easily at small sizes; the long link works identically.
Can the form be pre-filled when someone scans?
Yes. Use Google's Get pre-filled link, fill in the fields you want set, and make the code from that link. Make one code per variation.
Do people need a Google account to answer?
Only if you turned on Collect email addresses or restricted the form to your organization. For public sign-ups and surveys, leave both off so anyone can answer.
What happens when I close the form?
Scanners see Google's "no longer accepting responses" page. With a dynamic code you can repoint the printed code to a thank-you page or the next form instead.
Does a QR code for a Google Form cost anything?
No. Making and printing it is free, and a free account keeps the download unmarked. Premium ($4 a month) keeps the code editable when the form changes, and counts scans so you can compare openings with responses.
Ready when you are

Make the code now, change the link later

Free to make and print. Premium ($4/mo) keeps it editable and counts every scan.