Skip to content
Vitali Web Tools
All toolsFavorites
Categories
DevicesTextDeveloperCalculatorsImagesAudio & VideoFiles & DataOffice & PlanningPDFCodes & Templates
Contact & feedback
Free tools without an account
Vitali Web Tools
Vitali Web Tools
Collapse sidebar
Tool library
FavoritesAccount
All tools/QR Code Generator/Guide

Practical guide · QR Code Generator

Create static QR codes and physical labels from a spreadsheet

A QR code, its printed label and its filename can contain different information. Choose a separate spreadsheet column for each. Check leading zeros and line breaks before generating a whole sheet of codes.

Open tool →
The idea, illustrated
ContentLabel000042Box A000043Box B000044Box C000045Box DBox A000042Box B000043Box C000044Box D000045
Code, label, filename. Three roles. Let’s avoid an identity crisis.
In this guideStepsWorked exampleGood to know
Your next steps

Step by step

  1. 01

    Open the table workflow

    Open QR Code Generator and choose Table → QR labels.

  2. 02

    Import and inspect the table

    Import CSV/XLSX or use the synthetic table. Select the sheet and review its cells.

  3. 03

    Assign the three columns

    Map the content, label and filename columns. Edit any incorrect imported values before generation.

  4. 04

    Set the label layout

    Set paper, label dimensions, margins and spacing. Check that the code including its quiet zone fits the label.

  5. 05

    Export and test a code

    Generate the PNG codes, ZIP and label PDF together, then download the format you need. Scan a representative exported code and a printed sample with the intended reader.

A concrete example

A deliberate edit survives independent decoding

Before

Content cell: 000042 → edited to 000043

After

Decoded article-000042.png: 000043

The content and filename columns are separate. This actual browser export was decoded independently; the retained filename is not the code's payload.

Open the tool for this exercise →

Understand the details

Payloads are exact

The built-in example includes a URL, Grüezi Zürich – café ☕, a two-line value and 000042. Independent decoding recovered those exact characters from the generated PNGs. Editing 000042 to 000043 changed the encoded payload while leaving the separately mapped filename intact.

URLs are encoded as text and are not automatically visited. Static codes contain the submitted value without a service-controlled tracking redirect or expiry. A website named by a URL may still change or become unavailable.

Avoid duplicate filenames and crowded labels

If two rows request the filename catalogue, the outputs become catalogue.png and catalogue-2.png. Filenames are made safe and unique; renaming a file does not change the value encoded in its QR code.

The four-module quiet zone is part of the requested code size. A dense payload inside a small printed square produces smaller modules. A warning is a reason to increase the physical code size or shorten the payload, then scan a real print.

The spreadsheet and export limits

Input is limited to 5 MiB and 100 data rows, with 1,000 UTF-8 bytes per code. Leading zeros must still exist in the imported cells; this tool cannot reconstruct digits a spreadsheet already discarded.

QR payloads support Unicode. PDF labels currently use Latin/Western European lettering. The output is a new local file without added advertising or tracking parameters. Print the PDF at its actual size, and verify alignment against the particular label stock.

© 2026 Vitali Web Tools
Guides & examplesPrivacyTermsImprintContactDeutsch