Heartsaver Course Roster Generator

Excel/Google Sheets data → completed roster PDF. Processing stays in your browser.

TWO-SOURCE WEB / PWA VERSION Online

Combine participant data + course/instructor data

When hosted on HTTPS, this can be installed like an app. On iPad/iPhone: open in Safari, tap Share, then Add to Home Screen.
Privacy: both spreadsheets and the generated PDFs are processed in your browser. This app does not upload participant or course information to a server.
1. Select Participant Data

Required fields: Name and Email. Optional: Class ID and Mailing Address/Telephone. Class ID is recommended when the course file contains more than one class.

Waiting for participant data.
2. Select Course / Instructor Data

One row per class. The generator can populate page 1 and the page 2 header from this file. It also recognizes Assistant Instructor Name and Assistant Instructor Card Expiration Date and places them on Assisting Instructor line 1. If there is more than one course row, use a matching Class ID or Course Number.

Waiting for course/instructor data. You may still generate a participant-only roster if this file is omitted.
New: Assistant Instructor Name and Assistant Instructor Card Expiration Date populate Assisting Instructor #1 on page 1 of the AHA roster.
3. Review merged data
Load participant data to begin.
4. Generate completed PDF

Each class is matched by Class ID. The generator creates one two-page Heartsaver roster for every group of up to 10 participants in that class. Course/instructor values are printed on page 1 and the page 2 header.

Your PDF is ready.
Click the blue link below to save the PDF.
DOWNLOAD PDF FILE VIEW PDF IN THIS TAB
Saving on iPad/iPhone: use Share / Save PDF and choose Save to Files. On a laptop, use DOWNLOAD PDF FILE.
PDF preview:
How the two files work together
  1. Participant Data supplies Name, Email, and optional Mailing Address/Telephone for page 2.
  2. Course / Instructor Data supplies Date, Course, Lead Instructor, Instructor ID, Training Center information, location, course times, Total Hours of Instruction, Assistant Instructor Name, and Assistant Instructor Card Expiration Date.
  3. If both files contain the same Class ID or Course Number, the generator matches the correct course row to the correct participants.
  4. If the participant file has no Class ID, the course file must contain only one course row.
  5. Google Sheets users can download each sheet as CSV or .xlsx and select the two files above.
\n