Teams gives you a file Excel can't open. This fixes it — in your browser, without uploading anything. Get a clean, sortable attendance table, per-person attendance percentages, a pass/fail split, and CSV or Excel export.
Why won't it open in Excel? The report is UTF‑16 encoded and tab-separated despite its
.csv extension, with three stacked tables inside —
so Excel shows one garbled column. This tool reads the format Teams actually produces.
Parsing …
Drop your Teams attendance report here
or click to browse · .csv, .tsv, .txt and .xlsx are all fine · you can also paste the file contents
Works with the report from the meeting chat's “Download attendance report” button, the Attendance tab in the Teams calendar, and re-saved Excel copies. Localized exports (German, French, Spanish, Japanese, Chinese…) are supported.
We have a dedicated tool for those: Zoom Attendance Percentage Checker
We couldn't identify this file's layout automatically. Tell us which column is which — assign at least Name or Email.
· scheduled · average attendance
Participants
Passed
Below threshold
Cannot certify
(no email)
| External Dial-in | No email — can't auto-certify | ⚑ unreadable |
|
Skip the mail merge. CertFusion emails a personalised, verifiable certificate to every attendee who passed — download the passed-only CSV above and import it in minutes.
Your attendance data stays in this browser — nothing is transmitted.
Upload the file exactly as Teams gave it to you — UTF-16, tabs, three sections and all. The parser detects the encoding, delimiter, and language automatically.
Choose a percentage (default 80%) or a minimum number of minutes, and pick what to measure against — the scheduled meeting length, the actual session, or a custom duration.
Sort, search, and filter the results, download a clean CSV or Excel file, copy the passing emails — or send certificates to everyone who passed with CertFusion.
The file Teams downloads is a .csv in name only. Under the hood it is UTF-16 encoded (most files are UTF-8), the values are separated by tabs rather than commas, and the document contains three different tables stacked on top of each other — a meeting summary, a participant list, and a join/leave activity log — each with a different number of columns.
Excel takes the .csv extension at its word, assumes commas and a single table, and shows you one column of garbled text. Nothing is wrong with your file — Excel is just reading it with the wrong assumptions. This tool reads the format Teams actually produces, splits the three sections correctly, and gives you a clean table you can actually use.
meetingAttendanceReport.csv into the tool above — no re-saving or importing wizards needed.Prefer to stay in Excel? The manual route is Data → Get Data → From Text/CSV, then setting the encoding to Unicode (UTF-16) and the delimiter to Tab — but you'll still have three tables tangled in one sheet, and you'll repeat those steps for every meeting. The tool handles all of it in one drop.
Every Teams attendance report contains three stacked sections:
The subtlety is in section 3: someone joined from a laptop and a phone at the same time gets overlapping rows, and naively summing them double-counts their time. This tool merges overlapping intervals per person (and flags every row where that changed the number), which is the honest figure to use for certification decisions.
The calculation is simple in principle:
attendance % = attended time ÷ meeting duration × 100, capped at 100%.
In practice, doing this in a spreadsheet means wrestling with the UTF-16 encoding, splitting the sections apart,
parsing durations like 1h 5m 3s into numbers, grouping the rejoin rows, and de-duplicating device
overlaps. The tool above does the whole pipeline instantly and shows its work in the warnings panel.
Only organizers (and co-organizers) can download attendance, and it must be enabled in your organisation's meeting policies. Once you have the file, drop it into the tool above exactly as Teams saved it.
The file is UTF-16 encoded and tab-delimited despite the .csv extension, with three separate tables inside. Excel assumes UTF-8, commas, and one table, so everything lands in a single garbled column. Drop the file into this tool instead — it reads the real format and exports a clean .xlsx or .csv Excel will open perfectly.
No. The report is parsed entirely in your browser with JavaScript — attendee names and emails never leave your machine. Parsing, filtering, sorting, and exporting all happen locally, with no uploads, no storage, and no tracking of your attendee data.
Each person's attended time is divided by the meeting duration. You choose the denominator — scheduled duration (the CPD/CE standard), the actual session span, or a custom number of minutes — and whether attended time sums every session or merges overlapping ones. The threshold can be a percentage or a minimum number of minutes.
Teams logs each device as separate join/leave rows, and adding them up double-counts the overlap — some people can show more attended time than the meeting was long. This tool merges overlapping intervals per person by default and flags every row where the merge changed the result, so your numbers hold up to scrutiny.
Yes. Teams translates the report into your tenant's language — German, French, Spanish, Japanese, Chinese and more. The parser doesn't rely on English header text: it detects sections by structure and columns by their content, and understands localized durations like "1 Std. 5 Min." or "1小时5分" and regional date formats.
They stay in the table with their attendance calculated, flagged as external or dial-in. They're counted under "Cannot certify (no email)" because a certificate can't be emailed to them — but you'll see exactly who they are, so nothing disappears silently.
CertFusion emails personalised, verifiable certificates to everyone who met your attendance threshold — no mail merge, no manual list-building.
Issue Certificates with CertFusion