Batch generator · CSV & Excel

Bulk ID card generator from Excel: one spreadsheet in, thousands of cards out

CardDeck works as a bulk ID card generator from Excel or CSV. Upload your sheet, map columns to card fields, match photos by filename and generate an ID card, badge, business card, QR code or barcode for every row. Problem rows are flagged before anything is printed or issued.

staff_2026.csv · 312 rowsSAMPLE
DODaniel OkaforReady
PNPriya NairReady
TRTomás RuizNo photo
HCHannah ColeDuplicate ID
QUICK ANSWER

What is a batch generator?

A bulk ID card generator from Excel turns each spreadsheet row into a finished card. In CardDeck you upload an XLSX or CSV file, map columns to template fields, attach photos by filename, fix flagged rows, then export a print-ready PDF on CR80 sheets or issue digital cards, each with its own QR code and barcode.

Updated October 2026 · 11 min read · By the CardDeck team
Key takeaways
  • Upload XLSX or CSV (UTF-8); one row per card, one column per field
  • Map columns once and save the mapping for next term or next intake
  • Photos match rows by filename; missing photos and duplicate IDs are flagged
  • Every row gets its own QR code and barcode automatically
  • Export print-ready CR80 PDFs, A4/Letter sheets or a ZIP of files
  • Row limits per job: Free 25, Pro 500, Team 2,000, Business 25,000

What is a bulk ID card generator from Excel?

A bulk ID card generator from Excel is a tool that reads a spreadsheet and produces one finished card per row, using a single template. Instead of typing 300 names into a design file, you prepare the data once and let the generator lay out every card.

In CardDeck, the template comes from the card designer and the data comes from your sheet. Each column feeds a field on the card: name, job title, department, class, roll number, employee number, expiry date or photo. The generator then adds a unique QR code and, if your template has one, a barcode for every record.

What you can generate in one job

  • Staff IDs with photo, department and QR verification for employee ID cards
  • Student IDs with class, section, roll and academic year
  • Event badges with a role band and check-in QR code
  • Membership cards with tier, member number and expiry date
  • Digital business cards for a whole team
  • Code-only batches: QR codes or barcodes without a card around them

Why it matters

Manual layout is where errors creep in: a misspelled surname, a photo on the wrong card, a duplicate number. A batch generator removes the copy-and-paste step, checks the data before output and lets you regenerate a single card later without redoing the whole run.

How do I prepare an Excel or CSV file for bulk ID cards?

Prepare your file with one row per card and one column per field, with clear headers in the first row. That single rule prevents most import problems.

Spreadsheet checklist

  1. Put headers in row 1, such as full_name, title, department, employee_id, photo, valid_until.
  2. Keep one header row only. Delete title rows, notes and blank rows above or between records.
  3. Remove merged cells, hidden columns you don't need and formulas you don't want exported; paste them as values.
  4. Make the ID column unique. CardDeck uses it to match photos and to update cards when you re-import.
  5. Keep one sheet of data. Move lookups and notes to another file.

Save it in the right format

Upload XLSX as it is, or save as CSV UTF-8 (Comma delimited) from Excel. UTF-8 is the encoding that keeps names such as Tomás, Zoë, Søren or names in Devanagari, Arabic and Chinese scripts intact. A plain or "ANSI" CSV can turn accented letters into question marks.

Common Excel traps

  • Leading zeros: Excel drops the zero in 00428. Format ID columns as Text before typing or pasting.
  • Long numbers: Excel shows 12-digit and longer values, such as EAN-13 numbers, in scientific notation and drops digits beyond 15. Store them as Text.
  • Dates: pick one format for expiry and validity columns, such as 2027-08-31 or 08/2027, and use it in every row.
  • Stray spaces: trailing spaces cause "duplicate" or "no photo" flags. Use TRIM before you export.

If you are new to this, the step-by-step guide on making ID cards from Excel walks through a sample sheet.

Which columns should my ID card spreadsheet include?

Include only the fields that appear on the card or that you need to generate it. Extra columns are harmless, but fewer columns mean fewer things to check.

Typical columns by card type

  • Employee ID: full_name, job_title, department, employee_id, photo, location, valid_until, emergency_contact (back of card)
  • Student ID: student_name, class, section, roll_no, admission_no, academic_year, photo, house
  • Event badge: first_name, last_name, company, ticket_type, role, badge_id
  • Membership card: member_name, member_no, tier, expires_on
  • Business card: name, title, email, phone, booking_link, territory

The ID column does three jobs

Your unique ID, such as an employee number, admission number or registration ID, is used to name photo files, to encode the QR code or barcode, and to update the right card when you re-import. Pick a value that never changes for that person. Email addresses change; employee numbers usually don't.

Keep values card-sized

A CR80 card is 85.6 × 54 mm, so a 60-character job title will not fit at a readable size. The validator flags values that exceed the space in your template, but it is faster to agree on short forms, such as "Eng." or "Ops", before you export. For student cards, decide whether to show "Class 9 · Section B · Roll 24" on one line or split across fields.

Ready-made layouts in the ID card templates already have these fields in place, so you can map straight to them.

How do I add photos to cards in bulk?

Name each photo after the row's ID and upload the photos as a ZIP. CardDeck matches each file to its row by filename, crops it to the template's photo frame and flags any row without a match.

Photo naming that matches every time

  1. Add a photo column to your sheet, or rely on the ID column alone.
  2. Name files exactly as the ID: NWL-0428.jpg, STU-2026-0193.png.
  3. Keep the same case and no extra spaces. "nwl-0428 .jpg" will not match "NWL-0428".
  4. Put all files in one folder, zip the folder and upload it with the sheet.

If your HR or student system exports photo links rather than files, download the images into one folder first and rename them by ID. A filename match is the most reliable method because it doesn't depend on a link still being reachable at generation time.

Photo quality guidelines

  • Front-facing, head and shoulders, plain light background
  • JPG or PNG, at least 600 pixels on the short side for sharp printing
  • Similar framing across the batch so faces appear the same size
  • No filters, sunglasses or group shots

When photos are missing

The batch preview shows "No photo" on affected rows, like Tomás Ruiz in the example above. You can upload the missing image for that one row, generate the rest now and add the late cards later, or let people upload their own photo through their digital card. Nothing is printed until you choose to export.

How does column mapping and validation work?

Column mapping links each header in your file to a field on the template. CardDeck suggests matches from your header names, you confirm or change them, and the validator then checks every row before output.

Mapping

The mapping screen lists your columns on one side and template fields on the other. "employee_id" maps to Employee number, "dept" to Department, and so on. Mark which fields are required. Save the mapping with a name, such as "HR export – Workday" or "SIS export – Term 1", and the next import of the same layout maps itself.

Columns you don't map are ignored, so you can upload a full HR or SIS export without trimming it first. If first and last names are in separate columns, either map them to separate first-name and last-name fields on the template or join them in the sheet before upload.

What the validator flags

  • Duplicate ID: two rows share the same ID, like Hannah Cole in the example
  • No photo: no image matched the row's filename
  • Empty required field: a required column is blank
  • Too long: the value won't fit the field at the template's font size
  • Bad format: a date, number or barcode value that doesn't match the expected pattern, such as an EAN-13 value that isn't 12 or 13 digits

Fixing flagged rows

Edit a value in the preview for a quick fix, or correct the source sheet and re-upload if many rows share the same problem. Fixing at the source keeps your HR or student system and your cards in agreement.

How do I export a print-ready PDF on CR80 sheets?

Choose a print output, pick your printer type and download a PDF. For card printers you get one CR80 card per page with bleed; for office or print-shop printing you get cards imposed on A4 or Letter sheets with crop marks.

Output options

  • CR80 PDF for card printers: each card at 85.6 × 54 mm, portrait or landscape, front and back as consecutive pages for duplex printing.
  • Imposed sheets: several cards per A4 or Letter page for printing on pre-perforated card stock or for a print shop to trim.
  • Label and code sheets: QR codes or barcodes on common A4 and Letter label layouts, or a custom grid.
  • ZIP of individual files: one PNG or SVG per card or code, named by ID.
  • Digital issue: each person receives a link to their card and its QR code.

Print checklist

  1. Generate the batch, then print five sample cards first.
  2. Check spelling, photo alignment, barcode readability and the back side's orientation.
  3. Scan the QR code and barcode on a printed sample with the phone or reader you will use.
  4. Print the remaining batch in sorted order, such as by department or class, to speed up handout.

Your card printer handles PVC stock and any RFID or magnetic encoding; CardDeck supplies the artwork. For details on specific card types, see the student ID card maker and event badge maker pages.

How many rows can I generate per job?

Row limits are set per job by plan: Free 25 rows, Pro 500, Team 2,000 and Business 25,000. A job is one upload and generate run, so larger lists can be split across several jobs.

Which plan fits your list

  • Free (25 rows): try the workflow with a test sheet or a very small team.
  • Pro (500 rows): personal ID cards and badges, small code batches and test runs for larger projects.
  • Team (2,000 rows): employee IDs and team business cards for growing companies. See team business cards.
  • Business (25,000 rows): whole-school student IDs, large conferences, membership bases and multi-office onboarding.

Card types also depend on the plan. Employee IDs are on Team and Business; student IDs, event badges and membership cards are on Business. Static QR codes and barcodes are unlimited on every plan, so code-only batches never run out.

Working with large lists

For a 6,000-student school on Business, one job is enough. On Team, a 4,500-person list would run as three jobs, for example by department or site. Use the same saved mapping for each so the output stays consistent, and keep the ID column unique across all parts.

Re-imports count the same way

Updating 40 changed rows is a 40-row job. Export only the rows that changed, or filter your sheet before uploading, to keep re-imports quick.

Can I generate only QR codes or barcodes in bulk?

Yes. Choose a code-only output and every row becomes a QR code or barcode file, without a card around it. This is useful for asset tags, product labels, tickets, shelf codes and table codes.

QR codes from a sheet

Put one URL or value per row, optionally with a label column for the filename. You get a ZIP of PNG and SVG files or a PDF label sheet. For marketing campaigns where links may change, pair this with dynamic codes, as covered on the bulk QR code generator page.

Barcodes from a sheet

Pick the format per job:

  • Code 128 for employee numbers, asset IDs, tickets and shipping references
  • EAN-13 for retail products, with the check digit calculated for you
  • UPC-A for products sold in the US and Canada

For retail formats, the numbers must come from your GS1 allocation. CardDeck draws the barcode; it doesn't issue numbers. The bulk barcode generator page covers label sizes and scanner testing.

Codes inside cards

On card batches, the same row data can drive a QR code and a barcode on the same card: a QR code that opens the verification page, and a Code 128 barcode with the employee or member number for existing door, library or point-of-sale readers.

Design tool by hand vs CardDeck batch generator

AspectWithout CardDeckWith CardDeck
300 ID cardsHours of copy and paste in a design toolMinutes from one spreadsheet
ErrorsFound after printingFlagged before export
PhotosPlaced one by oneMatched by filename from a ZIP
QR codes and barcodesMade separately and pasted inGenerated per row automatically
UpdatesRedo the layoutRe-import changed rows by ID
Lost cardReopen the file and reprint a sheetRegenerate one card
Try Batch Generator free — no credit card required.Start free

How it works

  1. Upload your sheet

    Drop in an XLSX or CSV export from HR, your student information system or your ticketing tool, plus a ZIP of photos if your cards use them.

  2. Map and review

    Match columns to template fields, check the suggested mapping, and fix any rows the validator flags before you continue.

  3. Generate and export

    Download a print-ready PDF imposed on CR80 or A4/Letter sheets, a ZIP of individual files, or issue each person a digital card with its own link.

  4. Update later

    Re-import the sheet with the same ID column to update changed rows instead of creating duplicates.

What’s included

Excel and CSV import

Upload XLSX directly or a CSV saved as UTF-8 so accented and non-Latin names survive.

Column mapping

CardDeck suggests a mapping from your headers. Save it and reuse it for every repeat import.

Validation before output

Missing photos, duplicate IDs, empty required fields and values too long for the layout are flagged per row.

Photo matching

Upload a ZIP of photos named after the ID column, such as NWL-0428.jpg, and each one lands on the right card.

Unique codes per row

A QR code and a barcode (Code 128, EAN-13 or UPC-A) generated from each record.

Print-ready PDF

CR80 cards with bleed, imposed for card printers or A4 and Letter sheets.

Code-only batches

Skip the card and download a ZIP or label sheet of QR codes or barcodes.

Update by ID

Re-import with the same ID column to update existing cards rather than issuing new ones.

Row limits by plan

25, 500, 2,000 or 25,000 rows per job on Free, Pro, Team and Business.

POPULAR WITHSchoolsEnterpriseEventsRetail & Inventory

Use cases

HR onboarding

Generate IDs and digital business cards for a new office of 300 from one HR export, ready on day one.

Schools at term start

Turn the class list into student IDs with crest, class, section and roll number, then reissue lost cards one at a time.

Conferences

Import registrations, map ticket types to badge roles and reprint single badges at the help desk.

Clubs and associations

Issue membership cards with tier, member number and expiry, and refresh them by re-importing renewals.

Retail and warehouses

Produce EAN-13 product barcodes and Code 128 asset tags on label sheets from your SKU list.

Sales teams

Create branded digital business cards for every rep with territory and booking link from a CSV.

Frequently asked questions about batch generator

Can I upload an Excel file directly?

Yes. CardDeck accepts XLSX and CSV files. If you export CSV from Excel, choose "CSV UTF-8 (Comma delimited)" so accented and non-Latin characters are kept.

What are the row limits for batch generation?

Free allows 25 rows per job, Pro 500, Team 2,000 and Business 25,000. Larger lists can be split across several jobs using the same saved mapping.

How are photos matched to rows?

Name each photo after the row ID, for example NWL-0428.jpg, and upload the photos as a ZIP alongside your sheet. Rows without a matching file are flagged as "No photo" before export.

Can I update cards after a batch has been issued?

Yes. Re-import a sheet with the same ID column and CardDeck updates the matching cards instead of creating new ones. Digital cards update in place; printed cards can be regenerated individually.

What card size does the PDF export use?

ID cards export at CR80, 85.6 × 54 mm, in portrait or landscape with bleed. You can also export cards imposed on A4 or Letter sheets, or badge sizes such as 4 × 3 in.

Can I print front and back?

Yes. Two-sided templates export the back as the following page for each card, ready for duplex card printers. Check orientation on a sample before printing the full batch.

Why do some names show strange characters after import?

The CSV was probably saved in a legacy encoding instead of UTF-8. Re-save it as CSV UTF-8 or upload the original XLSX, and names like Tomás or Zoë will import correctly.

Why did Excel remove the leading zeros from my ID numbers?

Excel treats values like 00428 as numbers. Format the ID column as Text before entering or pasting values, then export again.

Can I generate only QR codes or barcodes without cards?

Yes. Choose a code-only output to download a ZIP of PNG and SVG files or a PDF label sheet, with one code per row. Static codes are unlimited on every plan.

Which plans include employee IDs, student IDs and badges?

Employee IDs are on Team and Business. Student IDs, event badges and membership cards are on Business. Pro includes personal ID cards and badges.

Does CardDeck encode RFID or magnetic stripes?

No. CardDeck produces the printed artwork and can add a QR code or Code 128 barcode. RFID and magnetic encoding are handled by your card printer.

Works well with

All products →
Cards

Employee ID Cards

Employee ID card maker for IDs your security team can trust

Cards

Student ID Cards

Student ID card maker: IDs for the whole school, ready by Monday

Cards

Event Badges

Event badge maker for every attendee, speaker and sponsor

Codes

Bulk Barcode Generator

Bulk barcode generator: create hundreds of barcodes from Excel or CSV

Try Batch Generator free with CardDeck.

Create your Card