Badges from Luma
From your Luma guest list to badges that double as tickets
Luma (formerly lu.ma) handles your event page, RSVPs and reminders — badges aren’t its job. Export the guest list as CSV, paste it into BonBadge: every badge comes out with that guest’s Luma check-in QR. Scan the badge with the Luma app and they’re checked in. Free, no account, no Luma Plus, and the list never touches another server.
Tech meetup, startup mixer, community conference: the Luma page has become the default — sign-up in two clicks, approvals, automatic reminders, QR check-in from the app. Then comes the night before the event, and a question the platform doesn’t answer: how does everyone get a name on their chest? Luma’s own help center says it plainly — no built-in badge printing, export the CSV and sort it out in Canva or Word.
Yet everything you need is already in that export. From the event’s Manage page, the Guests tab downloads the list as a CSV: name, email, approval status, ticket type, answers to your registration questions — and, when check-in is enabled, a qr_code_url column holding each ticket’s unique check-in link. BonBadge reads that file as-is, recognizes Luma’s headers, and offers to put that link on the badge as a QR code.
The result: the badge is the ticket. At the door, your team scans the badge with the Luma app exactly as they would scan the emailed ticket — except nobody has to dig through their inbox, and every guest walks in with their badge already on. All free, no account, no Luma Plus, and no data leaves your browser.
How the badge becomes the Luma ticket
Every Luma ticket has a check-in QR code — a link of the form https://luma.com/check-in/<event>?pk=<key>. That’s what the guest receives by email, and what the Luma app scans at the door. The CSV export carries this link for each ticket, in the qr_code_url column.
When BonBadge detects that column, a “Luma check-in” mode appears among the QR options. Turn it on and the QR printed on each badge is that guest’s check-in link, nothing else. On the day, the welcome desk opens the Luma app in Check In mode, scans the badge, and the guest is checked in — your Luma dashboard’s attendance stays accurate, with no double entry.
Two useful details. First, the export holds ticket keys: one scan checks in that ticket, not every ticket a guest may hold (the emailed QR, by contrast, groups all of them). For a name badge that is exactly right: one person, one badge, one ticket. Second, if check-in isn’t enabled on the event, the column isn’t in the export — switch it on in the event settings before downloading.
What BonBadge reads from the Luma export
Luma’s headers are English snake_case; they’re recognized as-is, no spreadsheet clean-up:
name,first_name,last_name→ the full name, large on the badge. The full name wins; first and last are only used to rebuild it when it’s missing.ticket_name→ the category chip: General Admission, Speaker, Sponsor, VIP…qr_code_url→ the check-in link, for the “Luma check-in” QR mode.approval_status→ the approval status. BonBadge then offers to skip guests who aren’t approved (pending, waitlisted, declined) with a single checkbox: no ghost badges on the welcome table.email,phone_number→ available for a vCard QR, never printed in clear.- Your registration questions → one column each, headed exactly like the question. Luma’s built-in “Company” question (“What company do you work for?”) and its “Job Title” option are recognized as-is; for a free-form question, name it “Company” or “Role” and it lands as the badge subtitle.
Technical columns (guest_id, created_at, checked_in_at, utm_source, amounts, coupons, crypto addresses) are ignored. One export row = one badge: a guest who took several tickets appears several times, each row with its own check-in link — by design, each badge stays a distinct ticket.
No Luma Plus, no Zapier — and if you have them anyway
Luma’s API and Zapier integration are reserved for Luma Plus. BonBadge doesn’t need either: the CSV export exists on every account, free ones included, and it is the only entry point. It’s also what makes the privacy promise possible — an API-connected tool would pull your guest list onto its servers; here the file stays on your machine.
On Luma Plus and want an always-current list without re-exporting? A “New Luma guest → new Google Sheets row” Zap is enough. The night before, copy the useful columns from the sheet and paste them into BonBadge — same header detection, same result. For last-minute RSVPs, a fresh export or copy-paste takes a minute; the PDF regenerates instantly.
🎟️ The badge is the ticket
The export’s qr_code_url column becomes the badge’s QR. Scanned with the Luma app in Check In mode, it checks the guest in — no email to find on a phone, no double entry in Luma.
📥 The Luma export reads as-is
name, first_name, last_name, ticket_name, approval_status: the headers are recognized automatically. The ticket type becomes a chip, unapproved guests can be skipped with one checkbox.
🔒 Free plan, local data
No need for Luma Plus, the API or Zapier: the CSV is enough. BonBadge processes the list in your browser — nothing uploaded, nothing stored, no account to create.
How it works
Export your guest list
On your Luma event’s Manage page, Guests tab, click Download CSV at the top right. Luma emails a confirmation code before the first export, and offers all guests or just the filtered view. Make sure check-in is enabled so the export includes the qr_code_url column.
Import it into BonBadge
Import the CSV as-is, or copy the columns from Excel or Google Sheets. The preview shows your guests’ real names; BonBadge flags the Luma export and offers the “Luma check-in” QR. Tick “Skip guests who aren’t approved” if the event is approval-based. Pick one of the templates, add a logo and colors.
Download the PDF, scan on the day
A6 (105 × 148 mm / 4.1 × 5.8 in), one badge per page, or 4-up with crop marks for the office printer. Free, no watermark, unlimited guests. At the door, the Luma app scans the badge like a ticket. Late RSVPs? Re-export the night before and regenerate in a minute.
Frequently asked questions
Does the badge QR really work with the Luma app?
Yes: it contains exactly the check-in link Luma generates for that ticket (the export’s qr_code_url column, format https://luma.com/check-in/…). The Luma app in Check In mode scans it like the emailed QR. Test it before the event: print one badge, scan it with the app on your own event, and the guest flips to “Checked in” on your dashboard. If you run an external check-in system, Luma also documents how to look up the key through its API.
Where do I export the guest list in Luma?
On your event’s management page: open the Guests tab and click Download CSV at the top right of the guest list. Luma generates a CSV of everyone — or only the filtered guests, if you applied a search or filter. For security, the platform emails you a confirmation code before the first download.
What’s in the CSV Luma exports?
One row per ticket: name (name, first_name, last_name), email, phone, registration date, approval status (approval_status), ticket type (ticket_name), check-in state, the check-in link (qr_code_url, when check-in is enabled), amounts and coupons, plus one column per active registration question. BonBadge keeps the name, ticket type, status, check-in link and your company or role columns, and ignores the rest.
My event is approval-based — how do I badge only confirmed guests?
Two ways. In BonBadge: the approval_status column is recognized, and a “Skip guests who aren’t approved” checkbox appears under the guest count — it drops pending, waitlisted and declined statuses. In Luma: filter the list to approved guests (status “Going”) before exporting, and choose the filtered export. Both can be combined safely.
How is the badge QR different from the one the guest got by email?
The emailed QR holds a guest key (it starts with g-): scanned, it shows all of that person’s tickets and lets you choose which to check in. The export’s QR — hence the badge’s — holds a ticket key: it checks in that specific ticket. For name badges that’s the behavior you want: a guest who took two tickets (for a colleague, say) has two rows in the export, hence two badges, each with its own QR.
Do I need Luma Plus, the API or Zapier?
No. The CSV export is available on every Luma account, free ones included, and that is all BonBadge uses. The API and Zapier (Luma Plus only) are only useful to sync the list continuously into a spreadsheet; copy-pasting from that spreadsheet then works exactly like importing the CSV.
How do I show each guest’s company or role on the badge?
Add registration questions to your Luma event — “Company”, “Role”, “Attending as…” — ideally before RSVPs open: each question becomes an export column, headed exactly like the question. Luma’s built-in “Company” question is recognized as-is. For a more free-form label, rename the header to “Company”, “Role” or “Category” in your spreadsheet before pasting. Note that only active questions appear in the export — don’t delete a question whose answers you’ll want.
Luma is free — are the badges free too?
Yes, and without an asterisk: every template, unlimited guests, PDF without a watermark, check-in QR included, no account to create. And unlike a connected tool that would sync your guest list to its servers, BonBadge works on a file that stays on your machine — close the tab and nothing remains.