Attendee CSV Cleaner

Drop in a raw attendee export from Zoom, Teams, Webex, Google Meet, Luma, Eventbrite or any form tool and get back a clean, de-duplicated list: proper capitalisation, valid emails, credentials in their own column, rejoins merged, hosts removed. Ready to upload to CertFusion or any mail merge.

Handles “Last, First” names, pronouns and emoji in display names, Bob's iPhone, UTF-16 Teams files, Zoom's multi-section webinar reports and Eventbrite's buyer-versus-attendee columns.

Processed in your browser. We never see your attendee list — nothing is uploaded, stored or sent to any server.
1

Add your attendee export

2

Check what we found

3

Cleaning options

results update as you change them
Names
Emails & duplicates
Who to keep

Most CE providers issue on registration and check attendance separately, so this is off by default.

Drop anyone under
Meeting length minutes — enter the planned length to apply this filter
4

Your clean list

How the cleaner works

1

Drop in the raw export

The tool recognises the platform from the column headers, skips the summary rows Zoom and Teams put above the table, decodes UTF-16 Teams files, and finds the name and email columns. If it guesses wrong, pick the source or map the columns yourself.

2

Tick what to fix

Capitalisation, emoji and pronouns, “Last, First” order, credentials, email typos, duplicate rows, hosts and panelists, no-shows and a minimum-attendance threshold. Every option re-runs instantly and every change is highlighted in the preview.

3

Download and send

Get a clean CSV with Name and Email columns ready for CertFusion's importer, a split-name variant for mail merges, and an issues file listing every row that was dropped, merged or corrected so your audit trail is complete.

What the cleaner fixes

  • Names. JOHN SMITH becomes John Smith, mcdonald, ronald becomes Ronald McDonald, mary-anne o'brien becomes Mary-Anne O'Brien. Mixed-case names like DeShawn are left alone, particles stay lowercase (Maria de la Cruz, Ludwig van Beethoven), and Jr., III and accents are preserved. Chinese, Japanese and Korean names are kept whole rather than split badly.
  • Display-name noise. Pronouns ((she/her)), emoji, Zoom's (Original Name) suffix, [Host] tags and device names such as Bob's iPhone are stripped. Rows whose “name” is just Zoom User or iPhone are flagged.
  • Credentials. Jane Smith, RN, BSN becomes Jane Smith with RN, BSN in a credentials column, so the certificate reads “Jane Smith, RN, BSN” without the designation breaking a name field. Dozens of healthcare, counselling, finance and engineering designations are recognised.
  • Emails. Trimmed, lowercased, stripped of mailto: and stray punctuation, pulled out of Jane Smith <jane@x.com>, validated, and (optionally) corrected for typos like gmial.com. Invalid addresses go to the issues list instead of bouncing later.
  • Duplicates. One person, one row. Rejoins and two-device sessions are merged by email; when join and leave times exist, overlapping sessions are counted once rather than added twice.
  • Filters. Drop hosts, co-hosts and panelists, keep only Attended = Yes in Zoom webinar reports, keep only checked-in guests from Luma or Eventbrite, and apply a minimum attendance in minutes or as a percentage of the meeting length read from the report.

Where to export your attendee list

Zoom meetings. Go to Reports → Usage, find the meeting and click the number in the Participants column, then Export. Tick Export with meeting data so the meeting length is included. The cleaner merges each rejoin into one row. If you only need pass/fail percentages, the Zoom Attendance Percentage Checker does that in one step.

Zoom webinars. Open Reports → Webinar, choose Attendee report and export it. The file has Host, Panelist, Attendee and “Other Attended” sections; by default only registered attendees who actually attended are kept, and walk-ins can be included with one checkbox. A Registration report is recognised too, but it has no attendance data.

Microsoft Teams. After the meeting, open the chat, go to the Attendance tab and download the report. Teams saves it as a UTF-16 tab-separated file that Excel often opens as one column; the cleaner reads it directly. For attendance percentages use the Teams Attendance Report Parser.

Webex. From your Webex site open Calendar → Completed, select the session and click Export attendance report; Control Hub admins can use the Meetings Attendees report. The Webex Attendance Report Parser handles the percentage maths.

Google Meet. Google Workspace sends the organiser an attendance report by email after the call. Or use our free Google Meet Attendance Tracker Chrome extension and export its CSV.

Luma and Eventbrite. In Luma open the event's Guests tab and choose Export. In Eventbrite go to Manage attendees → Orders or Reports → Attendee summary and export to CSV. The cleaner uses the attendee's name and email, not the buyer's, and lets you keep the ticket type as an extra column.

Google Forms, Typeform, Tally, Jotform. Export the responses as CSV. Question headers like “What is your full name?” are matched automatically; confirm the mapping if the questions are unusual.

Why clean the list before issuing certificates

The name you import is the name printed on the certificate. A capitalised JANE SMITH, a stray (she/her) or a duplicate row means a re-issue, a support email and a dent in your credibility as a CE provider.

Cleaning once also means the attendance numbers hold up: a learner who dropped and rejoined three times gets one certificate with their total time, not three partial ones, and the issues file documents exactly who was excluded and why — handy when an accrediting body asks.

When the list is clean, upload it to CertFusion's bulk certificate generator to email everyone a verifiable certificate in minutes, or set up CPD, CME and CEU certificates that pull credits and dates in automatically.

Frequently Asked Questions

Is my attendee list uploaded anywhere?

No. The file is read and cleaned entirely by JavaScript in your browser. There is no upload, no server-side storage, and no third-party script receives the file contents. The only thing recorded is an anonymous usage event with the detected platform and the row count — never names or emails.

Which file formats and platforms are supported?

CSV, TSV, TXT and Excel (.xlsx, .xls) up to 20 MB, in UTF-8 or UTF-16. Zoom meeting, webinar and registration reports, Microsoft Teams attendance reports, Webex exports, Google Meet reports, Luma guest lists, Eventbrite attendee reports and responses from Google Forms, Typeform, Tally or Jotform are detected automatically. Anything else works through the column mapping.

How does the name capitalisation work?

Only tokens that are entirely upper- or lower-case are changed; mixed-case names such as DeShawn or McDonald are kept. Hyphenated names capitalise each part, O' and D' prefixes capitalise the next letter, Mc becomes McX, surname particles like van, de and bin stay lowercase unless they start the name, and Jr./III are normalised. Accents are preserved.

Why are emails lowercased?

Domains are case-insensitive and in practice every mail provider treats the part before the @ the same way, so lowercasing is the safest way to spot duplicates like Jane@Example.com and jane@example.com. It is a deliberate simplification; the original value is shown on hover and in the issues file.

Zoom gave me a report with several sections — which rows are used?

Webinar attendee reports contain Host, Panelist, Attendee and Other Attended sections. The cleaner reads the Attendee Details section and keeps rows marked Attended = Yes. Tick “Include the Other Attended section” to add people who joined without registering. Hosts and panelists are never included in the attendee list.

My Teams file looks like one long column in Excel. Will it work?

Yes. Teams exports are UTF-16 and tab-separated, which Excel mis-reads unless imported deliberately. Drop the original file in as downloaded and the cleaner decodes it, reads only the Participants section and converts durations like “1h 23m 10s” to minutes.

How are duplicates merged?

Rows with the same cleaned email are combined. The longest name with both a first and last part is kept, credentials are merged, and time is added up — or, when join and leave times exist, overlapping sessions from two devices are counted once. Extra columns keep the first non-empty value and any disagreement is listed in the issues file. Rows without an email can optionally be merged by name, flagged as lower confidence.

What does the percentage threshold measure against?

The meeting length stated in the report header — Zoom's “Actual Duration (minutes)” or the Teams “Meeting duration” line — pre-fills the field. If the export doesn't state one, enter the planned length yourself; the filter stays off until you do.

Turn your clean attendee list into certificates

CertFusion emails personalised, verifiable certificates to everyone on the list — no mail merge, no manual list-building.

Issue Certificates with CertFusion