Language

OA Ops & Automation

© 2026 Prakhar Bhaarat Enterprises

Back to Articles
DIY Projects 9 min read

Stop Passing Around Paper. Build a QR Code Attendance System Using Google Forms

A step-by-step guide to building a free, automated attendance system with Google Forms, QR codes, and Google Sheets.

A
Abhijit Jun 6, 2026
Stop Passing Around Paper. Build a QR Code Attendance System Using Google Forms

I've seen it a hundred times. Someone passes a crumpled sheet of paper around a room. People scribble their names. Someone else has to type all those names into a spreadsheet later. Mistakes happen. People sign for their friends. The paper gets lost. It's a mess.

There's a better way. And it costs you exactly zero rupees.

Let me show you how to build a QR Code Attendance System Using Google Forms. It's simple, it's free, and once you set it up, it runs itself.

What You'll Actually Build

By the end of this guide, you'll have a system where someone scans a QR code with their phone, fills out a Google Form in about 10 seconds, and their attendance gets logged automatically into a Google Sheet. You'll see who checked in, when, and from where.

No apps to install. No monthly fees. Just Google's free tools and a QR code you can stick anywhere.

Tools You Need

Here's the full list. I promise it's short.

  • A Google account (Gmail works)
  • A printer (or a phone to display the QR code)
  • A phone with a camera that can scan QR codes (every phone made in the last 8 years can do this)

That's it. No coding required. Though I'll show you some optional automation at the end if you want to get fancy.

Step 1: Build Your Google Form

Go to forms.google.com and start a new form.

Give it a clear name. Something like "Daily Attendance" or "Workshop Check In". Don't overthink this.

Add the fields you need. At minimum, you want:

  • Name (Short answer)
  • Email (Short answer, or use the "Email" field type if you want validation)
  • Timestamp (This gets added automatically, but you can hide it)

The timestamp is the most important part. It records when someone actually submitted the form. Don't remove it.

I also like adding a checkbox that says "I confirm I am physically present". This adds a tiny barrier against random submissions.

**Pro tip:** Turn on "Collect email addresses" in the form settings. This automatically logs the respondent's Google account email. It's not foolproof, but it helps with accountability.

Step 2: Connect Responses to Google Sheets

This step is crucial. Without it, your attendance data just sits inside the form.

In your Google Form, click the "Responses" tab. Then click the green Sheets icon. Choose "Create a new spreadsheet". Give it a name like "Attendance Log".

Now every submission automatically appears in Google Sheets. You can see the timestamp, the name, the email, all in neat columns.

Step 3: Create the QR Code

You need a QR code that points directly to your Google Form. You can use tools.prakharbhaarat.com which is a add free and user friendly QR code generator.

First, get the form link. Click "Send" in the top right of your form. Copy the link.

Now open tools.prakharbhaarat's website (QR code generator).

Paste your form link into the generator.

Download the QR code as a PNG or SVG.

Step 4: Print and Place the QR Code

Stick this QR code where people will see it.

At a college lecture, put it on the projector screen at the start of class. For an event, print it on a stand at the registration desk. For a small business, put it at the entry point.

You can also display it on a phone or tablet if you don't want to print.

Here's a trick I learned the hard way. Make sure the QR code is at least 3 inches by 3 inches when printed. Anything smaller and people with older phones struggle to scan it. Also, put it at eye level. Not on the floor.

Step 5: Test the Whole System

Before you roll this out, test it yourself.

Scan the QR code with your phone. Fill out the form. Check your Google Sheet to see if the entry appeared.

Then have a friend test it. Your friend will find problems you missed.

Common issues I've seen:

  • The form link was wrong in the QR code
  • The QR code printed too small
  • People couldn't find the submit button on mobile (fix this by making your form mobile friendly, which Google Forms is by default)
  • The Google Sheet wasn't connected properly

Test, fix, test again. Then deploy.

Preventing Fake Attendance

This is the big question everyone asks. Can people cheat the system?

Yes, they can. A QR code is a link. Someone can share that link with friends who aren't in the room. Those friends can fill out the form from home.

Here's how to fight that.

Method 1: Limited time window. Set up your form to only accept responses during specific hours. You can do this using the "Limit to 1 response" setting combined with a time window in Google Forms. Or use an App Script to automatically close the form after class starts.

Method 2: Require location. Add a question asking for their location. Or use a third party add on that captures GPS data. This isn't perfect because people can fake GPS, but it adds friction.

Method 3: Random spot checks. Have a person at the door ask to see the submission confirmation screen. This is low tech but highly effective.

Method 4: Use the email trick. Require people to sign in with their school or work Google account. This makes it traceable.

Nothing is 100% foolproof. But most people won't bother to cheat if you add even one small barrier.

Automating Reports and Dashboards

Once your data is in Google Sheets, you can do some cool stuff.

Auto sorting: Set your sheet to sort by timestamp automatically. This keeps recent entries at the top.

Attendance summary: Use Google Sheets formulas like COUNTIF to count how many times each person has attended. Something like `=COUNTIF(B2:B100, "John Doe")`.

Email reports: Use Google Apps Script to send yourself a daily attendance summary. You can trigger this to run automatically at the end of each day.

Here's a simple script to get you started:

``` function sendAttendanceReport() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sheet.getDataRange().getValues(); var today = new Date(); var subject = "Attendance Report for " + today.toDateString(); var body = "Here's today's attendance:\n\n"; for (var i = 1; i < data.length; i++) { if (data[i][0].toDateString() === today.toDateString()) { body += data[i][1] + " - " + data[i][2] + "\n"; } } MailApp.sendEmail("[email protected]", subject, body); } ```

Don't worry if this looks like gibberish. You can copy paste it into the Apps Script editor in your Google Sheet and run it.

Advanced Improvements Worth Doing

If you want to take this further, here are some upgrades I've actually used.

Add a dashboard using Google Data Studio. Connect your attendance sheet to Data Studio and get live charts showing attendance trends. It looks impressive and it's free.

Use conditional formatting in Sheets. Highlight late arrivals in red. This makes problem patterns visible instantly.

Create a separate QR code for each session. If you run multiple workshops, create a new form and QR code for each one. This keeps data clean.

Build a simple lookup system. Create a sheet that checks if a name is already on the list for today. This prevents duplicates.

Real World Use Cases

I've helped set this up for three different scenarios.

A small training company used it for their weekend workshops. Before this, they had a staff member manually calling out names. Now the QR code sits on a tablet at the entrance. People scan and sign in. The staff member handles other tasks.

A college department used it for guest lectures. The QR code was projected on the screen at the start. Students scanned it while the speaker was being introduced. Attendance got logged without any disruption.

An NGO used it for community events. They printed the QR code on a banner. People who didn't have smartphones could sign in on a shared tablet at the desk.

Each case had different needs, but the core system stayed the same.

Advantages and Limitations

Let me be honest with you. This system isn't perfect.

What works well:

  • It's completely free
  • No app installation for users
  • Data goes straight to a spreadsheet
  • You can customize it easily
  • It scales from 10 people to 1000

What doesn't work well:

  • No offline support. If the internet goes down, the form stops working.
  • Fake attendance is possible. Not easy, but possible.
  • Some people struggle with QR codes, especially older users
  • Google Forms has a submission limit of 4000 responses per day (60 per minute). Fine for most groups, but not for massive events.
  • No biometric verification. You're trusting the person filling the form.

If you need offline support or higher reliability, you'll need to move to a paid system. But for 90% of small organizations, this is more than enough.

Common Mistakes and Pro Tips

I've made most of these mistakes myself. Learn from them.

Mistake 1: Forgetting to turn off "Edit after submit". If you leave this on, people can go back and change their responses. Turn it off in form settings.

Mistake 2: Not testing with a real phone. Preview mode in your laptop browser is not the same as a real phone scan. Test on actual devices.

Mistake 3: Using a dynamic QR code that expires. Some QR generators create temporary codes. Use a static QR code that points to the direct form link.

Mistake 4: No backup plan. Keep a paper list handy. If the system fails, you don't want to lose all attendance data.

Pro tip: Put a small instruction text next to the QR code. Like "Scan to check in. One per person." You'd be surprised how many people don't know what to do.

Pro tip: Create a shared QR code image file on Google Drive or Dropbox so anyone can access and print it.

Future Possibilities with AI and Automation

This system can grow with you.

You can connect your Google Sheet to Zapier or Make (formerly Integromat) and trigger actions automatically. Like sending a welcome email to first time attendees. Or adding latecomers to a follow up list.

With AI, you could analyze attendance patterns. Who shows up late most often? Which sessions have the highest dropoff? This data is gold for planning.

Google's own AI tools can classify responses. Maybe you want to flag names that don't match your registered participants list. That's doable.

Wrapping This Up

A QR Code Attendance System Using Google Forms won't win any tech awards. But it will save you time and reduce errors. That's what matters.

You don't need expensive software for basic tasks. You need a system that works, costs nothing, and can be set up in an afternoon. This is that system.

Print that QR code, stick it up, and watch the paper disappear.

Your future self will thank you when you're not typing 50 names into a spreadsheet at 10 PM.

qr code attendance google forms attendance digital attendance google sheets attendance free attendance system

Share this article

A

Written by

Abhijit

Related Articles

Build Your Own Auto Invoice Generator in 30 Minutes (No Coding Required)
DIY Projects

Build Your Own Auto Invoice Generator in 30 Minutes (No Coding Required)

OA

Install Ops & Automation

Add to home screen for quick access