QR code attendance with Google Forms: a free set-up guide

Swap your paper sign-in sheet for a free QR code attendance form using Google Forms and Sheets. Build it, print it, count attendance and keep data safe.

Mission Pointers · 4 October 2026 · 11 min read

In short

  • A Google Form and a QR code made in Chrome give you a free sign-in sheet that fills a spreadsheet for you.
  • Ask only for what you need, usually a name and the session. The date and time are recorded automatically.
  • Keep a paper or helper option so nobody without a smartphone is left out.
  • Add a short privacy note, keep the spreadsheet restricted and delete names once you no longer need them.
On this page
  1. Why move off paper?
  2. Step 1: Build the form
  3. Step 2: Publish the form and get the link
  4. Step 3: Make the QR code
  5. Step 4: Print and display it
  6. Step 5: Have a fallback for people without smartphones
  7. Step 6: Set up the responses spreadsheet
  8. Step 7: Count attendance
  9. Data protection basics
  10. Copy-ready form fields
  11. Sources

This guide is for community groups, charities and volunteer-led sessions that still use a paper sign-in sheet. It might be a weekly drop-in, a lunch club, a training course or a volunteering shift.

By the end, you'll have a QR code people can scan to sign in, a spreadsheet that fills itself in and simple formulas to count attendance, plus a paper fallback and the data protection basics.

Google Forms and Google Sheets are free to use with a Google Account. Each account includes up to 15 GB of storage, shared across Gmail, Google Drive and Google Photos.

Why move off paper?

Paper sign-in sheets work, but they have drawbacks:

  • Someone has to type them up, often from handwriting that's hard to read.
  • Sheets get lost or damaged. A missing week means a gap in the numbers you report to funders.
  • Everyone can see who came before them. A paper list on a table shows every name already written on it.

A QR code form fixes all three. People sign in on their own phone, the answers go straight into a spreadsheet, and nobody can see anyone else's entry.

Step 1: Build the form

Create a blank form

  1. Go to forms.google.com and sign in.
  2. Click Blank form.
  3. Give the form a clear name, such as "Sign in: Tuesday drop-in".

Add your questions

  1. On the right, click Add.
  2. Type your question, then choose the question type next to the title.
  3. Turn Required on or off.
  4. Repeat for each question.

Keep it short. A sign-in should take under a minute, and every extra question is more personal data you're responsible for.

You don't need to ask for the date or time. When responses go into Google Sheets, each one arrives as a new row with a Timestamp column showing when it was submitted.

Decide what to ask

QuestionTypeRequired?Why
Your nameShort answerYesTo know who attended
Which session are you here for?Multiple choiceYes, if you run more than oneTo count each session separately
Is this your first time with us?Multiple choice (Yes / No)NoUseful if you report new and returning people
Are you here as a participant or a volunteer?Multiple choiceNoTo count volunteers separately

Multiple choice is easier than a dropdown on a phone screen, because all the options are visible at once.

Think about whether you need full names. If first name and surname initial is enough to tell people apart, ask for that instead.

Leave out anything you won't actually use, such as full addresses, dates of birth or phone numbers. Don't ask about health, ethnicity, religion or similar topics on a sign-in form. The ICO calls these special category data, and they need extra protection and a separate legal condition before you can use them. If a funder needs monitoring data, collect it separately with its own privacy information.

Check the settings

At the top of the form, click Settings, then check these:

  1. Next to Responses, click the down arrow. Leave Limit to 1 response off, and don't set Collect email addresses to Verified.
  2. Next to Presentation, click the down arrow. Make sure View results summary is off. If it's on, anyone who fills in the form can see a summary of everyone's answers.
  3. Still under Presentation, next to Confirmation message, click Edit and write something friendly, such as "Thanks, you're signed in."

Add a short privacy note

Click the form's description box, under the title, and add a short privacy note. There's an example in the data protection section below.

You need to publish a form before anyone can fill it in. If a form isn't published, people with the link can't open it.

  1. At the top right, click Publish.
  2. Click Manage to choose who can respond.
  3. Under General access, give access to anyone with the link.
  4. Click Done, then Publish. The button at the top right will now say Published.

To get the link, click Published, then Copy responder link. Tick the box next to Shorten URL to get a short link, then click Copy. Keep the short link: you'll print it under the QR code.

If your form is on a work or charity Google Workspace account, check it isn't restricted to people in your organisation. Owners can limit a form to their own domain before publishing.

If you're deciding whether to move your team onto Google Workspace, see our guide to Google Workspace for CICs and small charities.

Step 3: Make the QR code

Google Chrome on a computer has a built-in QR code maker, so you don't need a separate website or app.

  1. Paste the responder link into Chrome's address bar and open it. Make sure you're on the form people fill in, not the editing screen.
  2. Click the three-dot More menu at the top right.
  3. Choose Cast, save and share, then Create QR code.
  4. Click Download to save the QR code as an image.

Scan it with your own phone before you print it, to check it opens the right form.

Step 4: Print and display it

Put the QR code on a simple A4 sign. Include:

  • a clear heading, such as "Sign in here"
  • the QR code, printed large
  • the short link underneath, for anyone who'd rather type it
  • one line saying who's collecting the information, with "Ask a volunteer if you need help"

Put copies wherever people arrive, at a height that's easy to scan, so there's no queue round a single sign. Laminate it if you'll reuse it.

Most phones can scan QR codes with the built-in camera. On an iPhone, open Camera and tap the link that appears. Android phones need Android 9 or higher to scan with the built-in camera app.

Step 5: Have a fallback for people without smartphones

Not everyone has a smartphone, data or the confidence to scan a code. Always offer another way to sign in:

  • A helper with a tablet or phone. A volunteer opens the form and fills it in for each person. This works well at a welcome desk.
  • A paper slip. Use single slips or cards, rather than one shared list, so nobody can see other names. A volunteer types them into the form after the session, then shreds the paper.

Typing paper entries into the same form keeps all your attendance in one place. Their timestamps show when they were typed in, not when people arrived, so try to enter them on the same day.

Step 6: Set up the responses spreadsheet

  1. In your form, click Responses at the top.
  2. Click Link to Sheets, then choose Create a new spreadsheet.

Open the new spreadsheet and click File, then Settings. Under Locale, choose United Kingdom, and under Time zone, choose London. Click Save settings. This sets the spreadsheet's date formatting to the UK style.

Leave the responses tab as it is. Add a new tab called "Summary" and put your formulas there.

Step 7: Count attendance

These examples assume your responses tab is called Form responses 1 and your columns are in this order: A Timestamp, B Name, C Session, D First time, E Participant or volunteer. If yours are different, change the tab name and column letters in each formula.

What you wantFormula
Total sign-ins=COUNTA('Form responses 1'!A2:A)
Sign-ins for one session=COUNTIF('Form responses 1'!C2:C,"Tuesday drop-in")
Sign-ins in November 2026=COUNTIFS('Form responses 1'!A2:A,">="&DATE(2026,11,1),'Form responses 1'!A2:A,"<"&DATE(2026,12,1))
First-time visitors=COUNTIF('Form responses 1'!D2:D,"Yes")
Different names=COUNTUNIQUE('Form responses 1'!B2:B)

To count one day, type the date in cell A2 of your Summary tab, then put this in B2:

=COUNTIFS('Form responses 1'!A2:A,">="&A2,'Form responses 1'!A2:A,"<"&A2+1)

Google Sheets stores dates as numbers of days, so A2+1 means "the next day". Copy the formula down for a list of dates.

COUNTIF isn't case-sensitive, but otherwise the text in quotes must match your option exactly. COUNTUNIQUE counts "Sam Jones" and "Samuel Jones" as different people, so treat it as a rough guide.

Or use a pivot table

  1. On the responses tab, click the column letters to select whole columns (for example, A to E), so new responses are included.
  2. Click Insert, then Pivot table.
  3. In the side panel, next to Rows, click Add and choose Session.
  4. Next to Values, click Add and choose Name, then set it to summarise by COUNTA.

To see attendance by day or month, add Timestamp as a row instead. Right-click a date in the pivot table, choose Create pivot date group, and pick a period. The pivot table updates when its source data changes.

Data protection basics

Names and attendance records are personal data, so UK GDPR applies. Here are the essentials for a sign-in form, based on ICO guidance.

Tell people what you're doing

The ICO says you must give people privacy information when you collect their data. That includes who you are, why you're collecting it, how long you'll keep it and who you'll share it with. It must be concise and in plain language. You also need to decide your lawful basis before you start, and the ICO has a free lawful basis tool to help.

A short note on the form, linking to a fuller privacy notice, works well. The ICO calls this a layered approach, and its free privacy notice generator has a version for charities and voluntary groups.

Example privacy note: edit to fit your group

[Group name] uses this form to record who comes to our sessions, so we can plan activities and report total numbers to our funders. Only our session leads can see your answers. We delete names after [12 months] and keep only total numbers. Read our full privacy notice at [link], or ask a volunteer. Questions? Email [address].

Collect only what you need

The ICO's data minimisation principle says you should hold the minimum personal data you need for your purpose, and not collect anything on the off-chance it might be useful later. Review your questions against this before you publish.

Control who can see the sheet

  • Keep the spreadsheet's General access set to Restricted, so only people you've added can open it. Google advises giving edit access only to people who need to work with the responses.
  • Anyone you add as a collaborator on the form automatically gets access to a new responses spreadsheet. Permission changes don't sync between the two, so remove people from both.
  • Never use Publish to web on the responses spreadsheet.
  • Turn on 2-Step Verification for the Google Account that owns the form.

If your group supports people with a particular health condition or from a particular faith, being on the attendance list could itself reveal sensitive information. Take extra care over who can see it.

Decide how long to keep it

UK GDPR doesn't set fixed time limits, so you decide how long you need the data and should be able to justify it. The ICO says you should review what you hold and delete or anonymise data you no longer need. Check your funding agreements, as some say how long records must be kept.

A simple approach is to copy your totals into a separate sheet, then delete the names. The spreadsheet and the form store responses separately, so delete them in both places. In the form, click Responses, then More, then Delete all responses. This can't be undone.

The ICO is reviewing some of this guidance following the Data (Use and Access) Act 2025, so check its website for updates.

Copy-ready form fields

Copy these into your form, changing the session names to match yours.

Form title: Sign in: [session name]

Description:
Welcome! Please sign in each time you come.
[Paste your privacy note here.]

1. Your name
   Type: Short answer
   Required: Yes

2. Which session are you here for?
   Type: Multiple choice
   Options: Tuesday drop-in / Thursday lunch club / Other
   Required: Yes (delete this question if you run one session)

3. Is this your first time with us?
   Type: Multiple choice
   Options: Yes / No
   Required: No

4. Are you here as a participant or a volunteer?
   Type: Multiple choice
   Options: Participant / Volunteer
   Required: No

Confirmation message: Thanks, you're signed in.

If you'd like help setting this up alongside your other everyday systems, Mission Pointers offers Quick Systems Setup for small charities and community groups.

Sources

Next step

Want this set up for your team, along with your other everyday systems?

See Quick Systems Setup