{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Stock{{ resultsReady ? activeSheet.label : '—' }} Pages{{ resultsReady ? computation.values.page_count : '—' }} ECC{{ resultsReady ? computation.normalizedInputs.error_correction : '—' }}
{{ summaryAnnouncement }}
QR label sheet setup
Paste rows or load one local CSV/TXT file. The source stays in this browser.
{{ sourceStatus || 'Drop CSV or TXT onto the textarea.' }}
Use a short batch or job name for recognizable exports.
Print at actual size / 100% and verify one physical sheet before a full run.
The first new label begins at slot {{ Number(startPosition || 0) + 1 }}.
used cells
QR-only gives the symbol the most room inside each cell.
The choice changes the printable cell layout, not the encoded payload.
Turn this option on when cut guides is required.
{{ cutGuides ? 'Shown' : 'Hidden' }}
Values are measured from the physical page edges.
in
in
Values are measured from the physical page edges.
in
in
Adjust only when a test sheet drifts across columns or rows.
in
in
Four modules is the standard QR margin target.
modules
{{ qrScale }}%
Higher values give the symbol more of the label cell.
{{ fontScale }}%
Reduce long labels before changing the physical grid.
Pick a color or enter a six-digit hex value.
The same color is used in preview and standalone HTML.
Pin None when row 1 is real label data that resembles headings.
Ignore only when duplicate destinations are intentional.
used
{{ printExportStatus }}

The QR renderer is unavailable. Label placement and print checks remain available.

{{ chartExportStatus }}

The chart renderer is unavailable. Exact density values remain in the label plan.

{{ tableExportStatus }}

#PageSlotLabelPayloadDensityStatusCopy
{{ row.index }}{{ row.page }}{{ row.slot }}{{ row.label }}{{ row.payload }}{{ row.density }}{{ row.status }}

A sheet of QR labels has to satisfy two systems at once. The data must decode to the right destination, and the printed grid must land inside real adhesive cells. A perfect payload can be wasted by printer scaling or cumulative row drift. A perfectly aligned sheet can still fail when long payloads create modules too small for the label.

Each label may carry machine-readable data plus a human-readable name, note, or payload line. That printed text helps people place and audit labels without scanning every symbol, but it competes with the QR matrix for space. Wide address labels often suit text beside the symbol. Squarer asset labels usually leave more QR area when text sits below or is omitted.

  • Stock geometry includes paper size, columns, rows, cell dimensions, margins, and gaps.
  • First-page offset skips cells already used on the first sheet instead of wasting the remaining stock.
  • Payload density compares UTF-8 bytes with the estimated capacity of the selected QR version and error-correction level.
  • Registration describes how closely the printed grid aligns with the physical labels across the page.
  • Quiet zone and contrast protect the symbol's edge and light-dark separation.

Printer drivers commonly apply fit-to-page scaling even when a document already matches the paper. That small adjustment changes every label position and size. Print at actual size or 100%, disable header and footer additions, and test one plain-paper overlay or one expendable sheet before committing an entire batch.

A planning result cannot model ink spread, toner density, glossy reflections, worn labels, curved objects, or camera distance. Decode samples from the first physical sheet and recheck after changing printer, stock, color, payload length, or label layout.

How to Use This Tool:

Prepare the row data, match the physical stock, then use the print checks to separate payload problems from page-alignment problems.

  1. Paste or load the label rows. Use label,payload,note order, a recognized header row, or one payload per line. Check auto-detected headers and duplicate warnings before continuing.
  2. Choose the stock. Select a preset or enter a custom paper size, grid, label dimensions, margins, and gaps. Set First-page offset to the number of cells already used on the first sheet.
  3. Allocate the label space. Choose the readable content and its position. QR-only provides the most room; long labels may need less text or a smaller text scale rather than a smaller symbol.
  4. Review the plan. Inspect Payload density, Label plan, and Print checks. Fix blocked payloads or sheet-fit failures before printing, and investigate every review warning.
  5. Print and scan a proof. Use actual size or 100%, compare the first and last cells with the stock, and decode several labels including the longest payload.

Interpreting Results:

Print ready means no modeled block or warning is active. Review print means the sheet can be rendered but at least one density, offset, geometry, contrast, duplicate, text-length, or parsing condition needs attention. Print blocked means a payload exceeds capacity, the grid exceeds the paper, or another blocking check failed.

Row status and sheet status answer different questions. A row can be dense while the grid still fits the paper. Conversely, every payload can be compact while a custom margin or gap pushes the last column outside the sheet. Use the Label plan for page and slot placement, then use Print checks for the whole batch.

Passing the contrast and estimated-size checks does not prove scan reliability. The decisive result is the decoded payload from the final physical label under realistic light and distance.

Technical Details:

Source parsing accepts quoted CSV cells, escaped double quotes, and plain text rows. Auto header detection looks for a payload-like heading together with a label-like heading. A single-cell row becomes a payload with an automatic label. When the first cell looks like a payload and the second does not, those two cells are treated as payload then label; other multi-cell rows use label, payload, then note.

Transformation Core

  1. Parse non-empty rows, skip an auto-detected header, and keep the first 300 valid payload rows.
  2. Classify common payload prefixes for the plan, count UTF-8 bytes, and choose the first QR version that fits the selected error-correction capacity.
  3. Assign each row to an absolute slot after the first-page offset, then convert that slot into a page number and a one-based cell number.
  4. Resolve the text position from the selected setting or label shape, estimate the available QR side, and evaluate page fit, contrast, quiet zone, density, duplicates, and text length.
  5. Build the printable grid without changing the stored payload text.

Header rows that are skipped and source rows without a payload remain visible in the parsing log. Duplicate payload comparison ignores letter case. Duplicate rows are kept whether warnings are enabled or ignored.

Formula Core

Grid capacity and page placement use whole cells. A partly filled final page still counts as one page.

K = c×r P = o+nK spage = floor(o+iK)+1

c and r are columns and rows, K is slots per page, o is the used-cell offset, n is the label count, and i is a zero-based label index.

Sheet fit includes both outer margins and every gap between cells.

W = mL+mR+cw+(c1)gx H = mT+mB+rh+(r1)gy

Widths and heights are measured in inches. A grid is blocked when its used width or height exceeds the selected paper by more than 0.001 inch.

Payload utilization is the UTF-8 byte count divided by the selected version's byte capacity. The displayed density is rounded to one decimal place; the unrounded ratio controls status.

U=BpayloadBcapacity×100

Stock presets

Built-in label stock dimensions
Preset Paper Grid Label size
Avery 5160 / 8160 US Letter 3 × 10 2.625 × 1 in
Avery 5163 / 8163 US Letter 2 × 5 4 × 2 in
Letter square asset US Letter 4 × 5 1.5 × 1.5 in
A4 3 × 8 A4 3 × 8 2.3 × 1.25 in

Rule Core: Status Boundaries

QR label planning status boundaries
Check Ready Review Blocked
Payload density Below 74% 74% to below 90%; 90% or more is labelled Dense Above version-40 capacity
Contrast At least 4.5:1 3:1 to below 4.5:1 Below 3:1
Estimated QR side At least 0.6 in Below 0.6 in Not used as a block
Quiet zone At least 4 modules 0 to 3 modules Not used as a block
Readable label 48 characters or fewer More than 48 characters when text is printed Not used as a block

The QR-side estimate depends on label shape and text placement. Auto places text right when label width is at least 1.55 times its height; otherwise it places text below. QR-only or hidden text uses 88% of the smaller label dimension before the QR-scale adjustment. Right-side text uses the smaller of 82% of label height and 42% of width; below-text layout uses the smaller of 78% of width and 62% of height.

Privacy and Print Notes:

CSV and text files are read in the browser, and the label source remains in the current browser session while the printable sheet is prepared. The source limit is 512 KiB and the first 300 valid rows are used.

  • The payload is visible to anyone who can decode the printed symbol. Do not treat a QR label as access control or encryption.
  • Do not place secrets in source files when they should not appear on the finished labels.
  • Printer scaling and hardware registration are outside the model. A physical proof is required even when every check says Ready.
  • Use cut guides for plain-paper tests or manual trimming, and hide them for pre-cut stock unless the stock instructions say otherwise.

Worked Examples:

Partly used 30-label sheet

With Avery 5160 / 8160 stock, capacity is 30 labels per page. An offset of 4 starts the first new label in slot 5. A batch of 32 labels therefore occupies 36 absolute cells and needs two pages; label 27 starts at slot 1 on the second page.