Skip to content

Google Form QR code

Paste the form’s responder link and download a code for the sign, the handout or the last slide. Saved as a dynamic code, it can open next term’s form without a new print run, and it counts every scan on the way.

Dynamic & Editable

Change where it points after printing, and see who scans it.

Your code is drawn as you type.

Type a destination to download.

This is an example code. Style it now — yours takes its place as you type.

Design

Style

Colour#000000
Shapesquare

Body shape

Corner shape

Inside shape

Framelabel-below
Logonone
Print settingsECC M

Next term’s form, behind the same printed sign

A Google Form is usually replaced rather than edited: a fresh copy for the new intake, the next event, this year’s sign-up, each with its own link. Every poster and handout carrying the old link is wrong the moment that happens. Print a dynamic code instead and the paper outlives the form, because the address behind it is a two-minute edit.

One sign, a new form each round

Copy last year’s form, change the questions, and point the code at the copy. The sign on the noticeboard starts filling this year’s response sheet, and nobody has to re-tape anything.

Count who started, not only who finished

Google counts the answers it receives. The code counts the scans that led to them, day by day, so a sign nobody scans looks different from a form people open and abandon.

Close a form without a dead end

A closed form tells a scanner it is no longer accepting responses and leaves them there. Send the code to the results, the next date or a short note instead, the moment you stop collecting.

The code, the form, and the answers

Change the form the sign opens, in one edit

Paste the new form’s link over the old one and save. Everything already printed points at the new form from the next scan, and the previous link stays in the history in case you swap back.

A table-tent code’s own page: the printed code in espresso brown with a SCAN FOR MENU label, its short link on the café’s own domain and PNG, SVG and PDF downloads, beside the address it opens and a box for a new one, with the note that changes apply without reprinting.
A dynamic code, being repointed sample data

Scans by day, next to the day you put the sign up

Totals and a bar per day, so a Monday assembly or a handout at the door shows up as a spike. Free keeps 90 days of it.

Thirty days of analytics for a coffee company: totals for scans, unique visitors and live codes, over a bar chart of scans by day that climbs every weekend.
Scans per day for one code sample data

Or build the form here, and skip the second account

A QR Form is made in the same place as the code: 10 kinds of question, shown as one page or one question at a time, with a live preview of what the phone will show.

Editing a café’s feedback form: the one-page layout chosen, and the first question - How was your visit today?, a required rating out of five - with a live preview of its five buttons.
The form editor, with its preview sample data

Answers added up question by question

Ratings averaged, choices counted, written answers listed. Every submission is screened for bots and rate limited first, and a CSV of the lot comes with Pro and Business.

Results of the café’s feedback form, question by question: the spread of ratings with the average, the split between the two cafés, and bars for what people came in for.
QR Form results, per question sample data

Which Google link belongs on the code

Google gives a form more than one address, and only one of them is meant for the people answering it.

  • Use the responder link. In the form, choose Send and then the link, and copy what Google offers there. Its own help calls this the responder link, and it also offers to shorten it.
  • Not the address you are editing in. The link in your browser bar while you build the form ends in /edit. That one is for people who should be able to change the questions, so it must never go on a sign.
  • Check it on a phone, signed out. Whether an answer needs a Google account, and whether it is limited to your school or company, are settings inside the form. A scan lands on the sign-in screen when they are on, which is easy to miss while you are logged in.
  • Then make it dynamic. A code holding the Google link directly can never be changed. Save it here and the code holds a short link of ours instead, which is what can be pointed at a different form later.

Five minutes before the sign goes to print

Almost every dead form code fails for one of these reasons, and all five are cheaper to check now than to discover from a term’s worth of empty responses.

  1. Scan your own proof

    Use a phone that is not signed into your work account, from the PDF or the printed proof rather than the screen you designed it on. This catches the wrong link and an unreadable code in one go.

  2. Send one real answer

    Fill the form in yourself and check it lands where you expect. A form still in draft, or one whose responses were never wired to a sheet, looks identical from the outside.

  3. Check it is open

    A form that has stopped accepting responses shows a notice instead of questions. If yours closes on a date, decide now where the code should point afterwards.

  4. Watch the restrictions

    Sign-in requirements and organisation limits live in the form, not the code. A visitor without the right account sees a login screen, which you will never see yourself.

  5. Say what it is beside the code

    A line of text under the frame — what the form is for, and how long it takes — does more for the response rate than anything about the code itself.

  6. Save it as dynamic first

    The one thing that cannot be fixed later is a static code with the wrong address inside it. Saved to an account, every mistake above becomes an edit.

When the answers should just stay with the code

QR Forms are our own, made beside the codes rather than in another product. They are not Google Forms and they do not write to a spreadsheet in your Drive; the answers live here, where the scans are.

The questions

short answer, paragraph, email, phone, number, choose one, choose several, rating, date, checkbox. Up to thirty of them, required or optional, as one page or one at a time.

The answers

Counted and averaged per question as they arrive, with the written ones listed underneath. Mark them against correct answers and show a pass or fail when the form is a quiz.

What it costs

Forms are on every plan, Free included, where a published form is one of the 3 editable items. Answers can be pushed to your own systems with Business.

Where these codes usually end up

Three settings account for most of them, and each one changes what the form should ask and how often the link behind it moves.

A door, a noticeboard, a newsletter

Parents’ evening slots, a trip consent form, a club’s sign-up. The paper goes up once and is read for weeks by people standing still, and the form behind it is replaced every term — the case this whole page is built around.

A counter or a table card

A class booking at a gym, a warranty registration beside the till, a suggestion box that is not a box. Here the same form runs for months, so the code rarely moves; what changes is the question you get tired of reading.

The last slide of a talk

A room of people with phones already in their hands, for ten seconds. Keep the form to two questions, and point the code at the slides or the recording once the session is over, so the photograph somebody took of that slide still leads somewhere.

Check it at the source

Last reviewed , against the product as it works today.

What a form code costs

Free covers a class, a club or one event: 3 editable items, forms included, with no card. Starter is $12 a month for 100 codes, 365 days of history and a domain of your own on the link.

Free

Free

Unlimited static codes. Three editable ones that never expire.

  • Unlimited static QR codes, forever
  • 3 editable items in total — dynamic QR codes, QR Menus and QR Forms share them
  • Dynamic codes never expire, and each comes with a short link
  • Short links on their own, no QR code needed

3dynamic codes

Starter

$12/mo

For one business with codes out in the world.

  • 5 QR Menus
  • QR Forms
  • Advanced tracking and analytics
  • Live map of scans as they happen

100dynamic codes

Pro

Most chosen

$39/mo

For agencies and teams running codes at scale.

  • 50 QR Menus
  • Unlimited analytics history
  • 10 custom domains
  • API access

600dynamic codes

Business

$99/mo

For organisations running codes across many brands.

  • 400 QR Menus
  • 50 custom domains
  • Up to 25 team members and team management
  • Up to 10 workspaces

2,000dynamic codes

Unlimited scans on every plan. Cancel online in two clicks. Compare every plan and feature

The rest of the toolbox

Open a row to see the screen and which plan has it.

Custom domains

Short links on your own domain, chosen code by code.

Codes open go.yourbrand.com/menu rather than a link with our name in it, so the address under the code is yours. You add two DNS records and we check them. Then pick the domain for each code as you make it, or move a whole list of codes onto it at once.

Starter and up

QR codes on your own domain
A verified custom domain, go.fieldhousecoffee.example, with the TXT and CNAME records to copy into DNS and a button to check them again.
Custom domains · verified sample data

Bulk QR code generator

A spreadsheet in, one dynamic code per row out.

Paste or upload a list of names and links, match the columns, and get a dynamic code for every row - one per table, stall, badge or product - each with its own scans and destination.

Starter and up

The bulk generator
Bulk import after pasting a spreadsheet of twelve café tables - window, patio and bar - with the name and link columns matched to each new code’s name and destination.
Bulk import · twelve café tables sample data

Change many codes at once

Tick the codes, then pause, tag, file or move them together.

Tick codes in the list, or pick every code with a tag, and pause or resume them, add or remove tags, move them to a folder or onto your own domain, or add campaign tags, in one go. The API does the same in one request.

Pause and resume on every plan · folders and tags on Starter and up

An estate agent’s QR codes - yard signs for two listings, an open-house flyer and neighbourhood flyer drops - each with its short link on the agency’s own domain, its scan count and its folder.
Your QR codes · an estate agent’s list sample data

Short links, with your own ending

The link on its own, for a bio, an email or an ad.

Paste a link and get a short one you can change, route and count, with no QR code unless you want one. Every dynamic code already has its short link beside it, and a short link gets its QR code in one click - the same link, so clicks and scans count together. On Business you choose how the link ends, like /spring-menu, instead of random letters.

Every plan · custom endings on Business

The URL shortener
A short link’s settings: its short code with a Copy button, marked “Always works”, a custom ending on the roastery’s own domain, and the choice of which domain the link uses.
A short link · a coffee roaster’s bio link sample data

GS1 Digital Link for products

The retail code that carries your GTIN and still opens a web page.

Your domain and the GTIN from under the barcode, with batch, serial and dates if you want them, in the link format GS1 set for retail. A phone opens your page; the product data rides along in the address. The GTIN’s check digit is checked before anything is made.

Every plan, Free included

QR codes for packaging
Making a GS1 Digital Link code for a bag of coffee beans: the brand’s own domain, the GTIN from under the barcode and a batch number, beside a preview of the code the packaging will carry.
Create a code · GS1 Digital Link sample data

Wi-Fi, contact cards, email, phone and SMS

Networks, contacts, calendar dates and places, not only links.

A website, plain text, a Wi-Fi network, an email, a phone number, a text message, a contact card, a GS1 Digital Link, a PDF, a location, a calendar event and more. Most download free, with no account; the few marked “Editable only” need one.

Every plan, Free included

Contact card codes
The first step of making a code: a grid of the kinds of code on offer - website, plain text, Wi-Fi network, email, phone number, SMS message, contact card, GS1 Digital Link, PDF file, app store link, review request, location, calendar event and payment link, with PDF and app store marked editable only - Website chosen, and a preview of the code beside it.
Create a code · what to make sample data

PDF codes you can update

Upload a PDF, print the code, swap the file later.

We host the file and the code opens it. Upload a new version and the same printed code opens that one, with the old file kept in its history in case you need it back.

Every plan, Free included

PDF to QR code
Destination history for a café’s catering-menu PDF code: the summer and spring menus and last year’s, each replaced on a date with a note, and each one a button away from being restored.
A PDF code · file history sample data

Your logo in the middle

Upload any image; we size it so the code still scans.

PNG, JPEG, WebP or GIF, up to 15 MB - we shrink it ourselves, so nobody has to compress a file first. Error correction goes up to make room, and the logo is never allowed to cover more of the pattern than the code can lose.

Every plan, Free included

The design panel of a coffee roaster’s bag code: espresso modules on cream with the roaster’s bean roundel in the middle, the logo field, and error correction locked to Highest because the code has a logo.
A bag code · design with a logo sample data

Print-ready downloads

PNG and SVG on every plan, and a PDF for the printer.

PNG for screens and quick jobs, SVG for anything that gets scaled, and a print-ready PDF on Starter and up.

PNG and SVG on every plan · PDF on Starter and up

A table-tent code’s own page: the printed code in espresso brown with a SCAN FOR MENU label, its short link on the café’s own domain and PNG, SVG and PDF downloads, beside the address it opens and a box for a new one, with the note that changes apply without reprinting.
A code’s page · downloads sample data

Folders and tags

Keep one location’s or one campaign’s codes together.

Put codes in a folder per shop, listing or campaign and filter the list by it. Deleting a folder never deletes a code - they move to No folder, and you can undo it.

Starter and up

A coffee roaster’s codes filtered to the Retail bags folder: the house blend, Ethiopia Guji and decaf bag codes, each with its tags - 12oz, house blend, single origin, brew guide, decaf - its short link and its scans.
Your QR codes · one folder, tagged sample data

Campaign presets

Saved UTM parameters, so printed scans are not “direct”.

A printed code arrives in your web analytics as direct traffic. A preset fills in source, medium and campaign in one click, so the flyer and the table tent show up as themselves.

Starter and up

A coffee company’s Spring flyers campaign preset: source flyer, medium print, campaign spring-2026 and content farmers-market, with a preview of the full link a scan of a code using the preset opens.
Settings · campaign presets sample data

City-level scan locations

Which towns the scans came from, not only which countries.

Scans by city and region for each code, and towns on the live map. Coarse on purpose: the place the phone’s network reports, never a street or a precise position.

Pro and Business

Scans of a café’s table-tent code by city, the top six: Portland with 60%, then Vancouver, Beaverton, Seattle, San Francisco and London, each with its count, a bar and its share.
A code’s analytics · city sample data

CSV export

Daily scans per code, in a spreadsheet.

Download scans and unique visitors by day for one code or all of them - with each code’s name and short link - as CSV for your own reports, or for whoever asked how the campaign did.

Pro and Business

The foot of a code’s analytics: the Breakdown card on referrers - every scan straight from the camera - with its own Download CSV button, and under it the Export panel, which downloads scans and visitors per day as CSV.
A code’s analytics · export sample data

Webhooks

Your server hears about every scan and every change.

Pick the events - a scan, a code made or changed, a form answered, a QR Menu edited - and give us an address. Each one arrives as a signed POST, retried if your server is down, and every delivery is listed with the response it got.

Business

The API and webhooks
A webhook endpoint that hears about every scan and code update, with who set it up, a signing secret hidden until an owner or admin reveals it, and its last deliveries, each marked delivered with the response it got.
Webhooks · recent deliveries sample data

Separate workspaces

One subscription, a workspace per brand or client.

Each workspace has its own codes, team and analytics, so a client never sees another client’s. Up to 10 under one subscription.

Business

The Workspaces panel in settings: how many of the plan’s workspaces are in use, what happens to all of them if the subscription ends, and a field to name and create another one.
Settings · workspaces sample data

Priority email support

Paid plans’ emails are answered first.

A person reads every message. On a paid plan yours is answered before free accounts’ - an order we keep, not a promised hour. Your plan and workspace go along with it, so nobody has to ask which account is yours.

Starter and up

The support page on a Business plan: a note that a person reads every message and this plan’s is answered before free accounts’, a form to write in, and the plan and workspace that are sent along with it.
Contact support · Business plan sample data

Your data, to take or delete

A full export any time, and deletion you can take back.

Download everything - codes, history, scans, form answers and the files you uploaded - as one .zip with spreadsheets inside. Deleting the account gives you 30 days to change your mind, and your printed codes keep working until then.

Every plan, Free included

Account settings: a button to download everything the account holds, and a separate panel to delete the account, which can be undone for 30 days.
Settings · your data sample data

An API for the codes you print

A REST API for your own code: make dynamic codes and short links, change where they go, render SVG, PNG or PDF, add your domains and change hundreds of codes in one request. No-code tools like Zapier, Make and n8n can call it too, with a plain HTTP step. The API comes with Pro and up, and every request carries your key.

Render a code · Pro and up

curl -o code.svg \
  -H "Authorization: Bearer $QRSALT_KEY" \
  "https://app.qrsalt.com/api/qr?data=https://example.com"

An SVG back, ready for a label, a template or an image tag.

Re-point a printed code · Pro and up

curl -X PATCH https://app.qrsalt.com/api/v1/codes/{id} \
  -H "Authorization: Bearer $QRSALT_KEY" \
  -H "content-type: application/json" \
  -d '{"destination":"https://example.com/winter"}'

The printed code opens the new page, and the old one is kept in its history. Keys can only ever touch their own workspace.

Change many codes at once · JavaScript

// Move a campaign's codes onto your own domain
await fetch('https://app.qrsalt.com/api/v1/codes/bulk', {
  method: 'POST',
  headers: {
    authorization: `Bearer ${process.env.QRSALT_KEY}`,
    'content-type': 'application/json',
  },
  body: JSON.stringify({ ids, action: 'domain', domain: 'go.example.com' }),
})

Pause, tag, file or move codes in one call. The answer lists what changed and what was skipped.

Every endpoint, with a playground
The API screen listing a coffee company’s keys - one for a menu sync, one for a label printer, one revoked - each with its prefix, who created it, when it was made and when it was last used.
API keys · one per integration sample data

Google Form codes, answered

How do I turn a Google Form into a QR code?
Open the form, choose Send, copy the link it offers, and paste it above. Download the code for your sign or handout, or save it to an account first so the form behind it can be changed later.
Which link should I use?
The responder link from the Send panel, which is the one meant for people answering. The address you see while editing ends in /edit and lets anyone who opens it change your questions.
Can I point the code at a different form next term?
Yes, if you saved it as a dynamic code. Paste the new form’s link in its place and every printed copy follows from the next scan; the old link is kept in the code’s history.
Will I know how many people scanned it?
Every scan of a dynamic code is counted by day and by country, and from Starter and up you also see the device and where the scan came from. Google’s own response count then tells you how many of those scanners went through with it.
Can one code send different people to different forms?
Rules on the code can route by device, country, language and date on any plan, so a sign can open the English form for some scanners and another language for others, or switch to next week’s form on a chosen date. Weekly timetables come with Starter and up, and city rules and splits with Pro and Business.
Do people need a Google account to answer?
That is decided by the form’s own settings, not by the code: collecting email addresses or limiting the form to one organisation is what puts a sign-in screen in front of a scanner. Test the finished code on a phone that is signed out of Google.
How is a QR Form different from a Google Form?
A QR Form is built here, in the same account as the code, and its answers stay here rather than in a spreadsheet: 10 kinds of question, results added up per question, and submissions screened for bots. Forms are included on every plan, Free as well.
Who ends up holding the answers?
With a Google Form, Google does: replies go into your form and whatever sheet you linked, and none of it passes through us. All that is recorded here is that a scan happened, when, and roughly where from. Build the form here instead and the answers sit in this account rather than that one.
Can the same code be used again next year?
Yes, and it is the cheapest way to run the thing: copy the form, change the questions, then point the existing code at the copy. The sign that has been on the wall since last autumn starts filling the new sheet, and the link it used before stays in the code’s history with a button to put it back.
What happens to the printed code if I cancel?
It keeps opening the form for 30 days after the paid period, with an email before it stops, and then pauses on a page that explains rather than an error. Nothing is deleted, so paying again brings it back exactly as it was.

Collecting replies to an invitation rather than a form? Event QR codes cover RSVPs, the schedule and the photos on one code. Asking customers what they thought instead? See QR codes for reviews.

Google Form QR code - swap the form later - QRSalt