Bulk vCard QR Code Generator – Excel & CSV Import

Turn a staff list into vCard QR codes. Paste from Excel or Google Sheets or import a CSV, then download every contact code in one ZIP. Free, no sign-up.

  • No sign-up
  • Never expires
  • No watermark
  • Made in your browser
Advertisement
Advertisement

Bulk data

1 · Bulk
0 rows

Paste rows from Excel or Google Sheets, or import a CSV file.

# First name Last name Company/Organization Title Phone (mobile) Email (business) Website Delete row
1
2
3

QR codes

0 QR codes ready

Add some rows to see your QR codes here.

2 · Design

Foreground
Background
Logo
PNG, JPG or SVG · processed on your device only
Frame
Size
Advertisement

vCard QR Codes for a Whole Team

Office managers, HR teams, and event organizers often need a contact code for every person on a business card or badge order. Bulk mode turns a staff list into a folder of vCard QR codes in one pass, one ready-to-save contact per person. The tool is free and needs no sign-up. The codes are static, so they never expire, and the whole batch is made in your browser: your staff list is never uploaded.

The Contact Columns

ColumnWhat to enterExample
First nameGiven nameJane
Last nameFamily nameDoe
Company/OrganizationEmployer or brandAcme Inc.
TitleJob titleSales Lead
Phone (mobile)Mobile number, ideally with the country code+1 555 0100
Email (business)Work email address[email protected]
WebsiteFull web addresshttps://acme.example

No single column is required, but every row needs a first name, a last name, or a company. Phone (business), Phone (personal), Email (personal), and the address fields (Street, Zip code, City, Country) are on the single page only, so make any card that needs them there.

How to Make vCard Codes from a Staff List

  1. Fill the table. Copy the rows from Excel or Google Sheets and paste them into the first cell, or click Import CSV. Starting from scratch? Download the CSV template and fill it in, or click Load example to see three sample people.
  2. Fix flagged rows. A row with contact details but no name or company is flagged, and the "rows need fixing" count shows how many are left. Flagged rows stay out of the ZIP.
  3. Set the design once. Brand colors, your company logo, and a frame apply to every code in the batch.
  4. Choose names and format. Under File names, Best match uses each person's name. Pick PNG, SVG, or JPG.
  5. Download all (.zip). One image per person, plus content.csv listing every row and its file name.

Where Teams Use Them

  • Business card orders. Send the print shop one ZIP with every employee's code.
  • Conference badges. Give each speaker and staff member a badge that saves their contact in one scan.
  • Real estate offices. Every agent gets a personal code for flyers and sign riders, all in the brokerage's colors.
  • Email signatures. Hand each sales rep a PNG of their own contact code to drop into their signature.

Tips for Clean Contact Data

  • Proofread the sheet, not the codes. A misspelled email in the spreadsheet ends up in the code, and a printed code cannot be edited later.
  • Keep one person per row. Without a header row, an extra column of notes shifts every value after it into the wrong field.
  • Use content.csv as your checklist. It shows which file belongs to whom.
  • Test before the print run. Scan a few codes from the ZIP with an iPhone and an Android phone, check the saved contact, and send SVG files to the printer.

Need just one? Use the vCard QR code generator. Printing guest network cards for the same office? Try the bulk Wi-Fi QR code generator.

Frequently Asked Questions

Which contact fields can I fill in bulk?

The bulk table has seven columns: First name, Last name, Company/Organization, Title, Phone (mobile), Email (business), and Website. Business and personal phone numbers, the personal email, and the work address are on the single page only. If a card needs those details, make that one code on the single page.

Why is a row flagged even though it has a phone number?

Every row needs a first name, a last name, or a company. A row with only a phone number or an email address is flagged and left out of the ZIP. Add the missing name and the row joins the batch.

Does the column order in my spreadsheet matter?

Not if your first row is a header. When it holds the field names from the CSV template, such as firstName and emailBusiness, or the column labels shown on the page, each column is matched by name. Without a header row, values are read in the table's order, from First name to Website.

How are the vCard files in the ZIP named?

With Best match, each file is named after the person's first and last name, or the company when there is no name, so Jane Doe's code becomes 001-jane-doe.png. You can also name files after any column, such as Email (business), or choose Row number only. Names written in Japanese, Korean, or Chinese are kept.