🔒 Free · Open source · 100% local · v2.1

Google Meet attendance that takes itself.

A Chrome extension that quietly records who joined your call, when they were first and last seen, how long they stayed and how much they spoke. It marks your class or team list Present, Late or Absent, charts attendance over time, and exports everything to CSV, Excel, PDF or JSON in one click.

  • No account, no server
  • Manifest V3
  • Only the storage permission
The live Attendance panel inside a Google Meet call
RostersPresent · Late · Absent
Analyticsper person & per series
6 formatsCSV · XLSX · PDF · HTML · JSON · copy
0 bytessent anywhere

Everything you need to take attendance

Built for teachers, team leads and anyone who needs to know who was really there.

⚡

Automatic & manual save

Saved automatically while the call runs and when it ends. Prefer control? Turn auto-save off and hit Save now (or Alt+Shift+S).

⏱️

Accurate timing

First seen, last seen and time in call for everyone. Leaves and rejoins become separate sessions, and gaps aren't counted.

🎙️

Speaking time

Uses Meet's own on-screen speaking indicator to estimate how long each person talked. No audio is ever processed.

📋

Rosters: who's missing

Paste names or import a CSV of expected attendees, link it to a meeting code and see Present / Late / Absent live in Meet, in the dashboard and in every export.

✅

Attendance rules

Set a late threshold and a minimum time in call (minutes or % of the meeting). Short visits are flagged Too short.

📈

Analytics

Per-person attendance rate, average time, speaking total and trend, plus attendance-over-time, top speakers and speaking-share charts.

🔁

Recurring meetings

Meetings with the same code are grouped into a series with a who-came-when matrix you can export to Excel or CSV.

💬

Chat capture

Messages shown in Meet's chat panel are saved with the meeting and exported (CSV, Excel sheet, PDF, JSON).

🔔

Join & leave alerts

Small pop-ups in Meet when someone joins, rejoins or leaves, with an optional quiet sound.

🏷️

Tags & notes

Add tags and notes to any meeting, filter your history by tag and export a tag or date range in bulk.

📁

Every export you need

CSV, Excel (status-coloured), branded PDF with summary stats, JSON, chat CSV and copy as table for Google Sheets. All encoders are bundled; nothing comes from a CDN.

অ

Bengali & any script

Names in Bengali, Arabic, CJK and more render correctly in PDFs. The interface is available in English and বাংলা.

🌙

Dark mode

Follows your system theme by default, or force light or dark. Works in Meet, the popup and the dashboard.

⌨️

Keyboard shortcuts

Alt+Shift+M toggles the panel, Alt+Shift+S saves now. Change them in Chrome's shortcut settings.

🛡️

Robust detection

Several detection strategies plus a MutationObserver keep it working as Meet's layout changes, and short UI glitches are smoothed out.

🔒

Private by design

Only the storage permission. No servers, no accounts, no analytics. Back up or wipe your data any time.

See it in action

Real screenshots from the extension's automated test suite.

Dashboard with meeting history, tags, absentee counts and statistics
Dashboard: history with tag filter, absentees and bulk export
Meeting detail with roster, statuses, tags, notes and timeline
Meeting details: roster statuses, tags, notes, timeline
Analytics with attendance over time chart
Analytics: attendance over time, top speakers, speaking share
Recurring meeting series matrix
Series: who attended which session, exportable to Excel
Per-person attendance history with trend chart
Person history: rate, average time, trend
Roster editor with pasted names and CSV import
Rosters: paste names or import a CSV
Extension popup showing a live meeting with expected attendees
Popup: live call, expected attendees, quick settings
Branded PDF attendance report with Bengali names and summary
Branded PDF with summary stats (Bengali names included)
Dashboard in dark mode
Dark mode follows your system
In-Meet panel in dark mode with a join notification
In-Meet panel in dark mode, with join/leave pop-ups
Settings page
Settings: rules, notifications, theme, shortcuts, backups
Analytics in dark mode
Analytics in dark mode

How it works

  1. 1

    Join a Meet call

    Tracking starts on its own as soon as participants appear.

  2. 2

    Watch it live

    Open the Attendance panel in Meet or the toolbar popup at any time.

  3. 3

    Export or review

    Download CSV, XLSX, PDF or JSON, or explore history, rosters and analytics in the dashboard.

Roadmap: coming soon

Planned, not built yet. None of these are in the current version. Cloud features would be strictly opt-in, and local-only stays the default.

Planned

Google Sheets / Drive sync

Optional, opt-in export of attendance straight to a Sheet or Drive folder.

Planned

Google Classroom integration

Import class rosters and post attendance back to Classroom.

Planned

Microsoft Teams & Zoom

The same tracker for Teams and Zoom web meetings.

Planned

Team / org workspace

Shared rosters and reports for schools and teams.

Planned

Scheduled email reports

Weekly attendance summaries in your inbox.

Planned

AI meeting summaries

Optional summaries from captured chat and notes.

Planned

Firefox & Edge builds

Packaged builds for Firefox Add-ons and the Edge store.

New

Mobile-friendly report

The HTML export reads comfortably on a phone. It is on main now and will ship in the next release.

Install

Works in Chrome, Edge, Brave and other Chromium browsers (v110+).

Add to Chrome: free on the Chrome Web Store

Click Add to Chrome, pin the extension from the puzzle-piece menu, then join a call on meet.google.com. Updates install automatically. In Microsoft Edge, allow extensions from other stores when prompted.

For developers: load a release build unpacked

  1. Download meet-attendance-tracker-v*.zip from the latest release and unzip it into a folder.
  2. Open chrome://extensions (in Microsoft Edge: edge://extensions).
  3. Switch on Developer mode (top-right in Chrome, left sidebar in Edge).
  4. Click Load unpacked and choose the unzipped folder (the one containing manifest.json).
  5. Pin Meet Attendance Tracker from the puzzle-piece menu and join a call on meet.google.com.
terminal
# build it yourself from source
git clone https://github.com/SahinurDEV/Meet-Attendance-Tracker
cd Meet-Attendance-Tracker
npm install
npm test          # unit + browser tests
npm run package   # → dist/meet-attendance-tracker-v2.1.1.zip

Open source. Contribute on GitHub

Meet Attendance Tracker is MIT-licensed and built in the open. Bug reports, translations, docs and code are all welcome, and anyone can read the code to check that nothing leaves your device.

🔒

Private by design

  • Stored locally. Attendance lives in your browser's extension storage and nowhere else.
  • No network requests. No servers, accounts, analytics, ads or third-party scripts.
  • No audio or video. Only names, on-screen indicators and chat messages that Meet already shows you are read.
  • Minimal permissions. Just storage, plus a content script on meet.google.com. Keyboard shortcuts and themes need no extra permissions.
  • You're in control. Delete one meeting or everything, or back up to a JSON file.

Read the full privacy policy. Please follow your organisation's policies and local laws when recording attendance.

FAQ

Do other participants need the extension?

No. Only the person taking attendance installs it.

Is speaking time exact?

It's a close estimate from Meet's on-screen speaking indicator, sampled about once a second. Meet sometimes shows only some tiles, so open the People panel for the most complete list.

What happens if I reload the Meet tab?

The same meeting is resumed, so you won't get a duplicate.

How does the roster decide who is absent?

Names are matched flexibly: exact names, aliases, reordered names and honorifics such as "Md." all match. Anyone on the roster who never appears is Absent, people joining after your late threshold are Late, and people below the minimum time are marked Too short.

Is the chat saved?

Messages are saved only while Meet's chat panel has shown them. You can turn chat capture off in Settings.

Does it work with Google Workspace accounts?

Yes, it works with any account that can open meet.google.com in a Chromium browser.