Website Management Tools

Barcode Generator

Encode text as a Code 128 barcode with an automatic checksum and download it as a scalable SVG. Preview the symbol before printing labels or testing scanners.

Runs in your browserNever uploaded to PagesTools.
Preparing tool…

The focused browser interface is loading.

100% privateYour input stays on this deviceLightning fastNo upload round-tripBrowser-basedProcessing runs on this deviceFree to useNo account required

What Code 128-B encodes

Code 128 is a dense one-dimensional barcode symbology used for inventory, logistics, asset labels, and internal identifiers. Code set B represents printable ASCII characters, including uppercase and lowercase letters, digits, spaces, and common punctuation. This generator uses that set consistently rather than switching among sets to optimize numeric runs.

The symbol begins with a start code, represents each source character as a code value, adds a weighted modulo-103 checksum, and ends with a stop pattern. Quiet space around the bars helps scanners distinguish the symbol from nearby content. The human-readable text below the bars is a label for people and is not what the scanner measures.

PagesTools accepts one through 120 printable ASCII characters. Unsupported Unicode, control characters, and excessive length are rejected rather than silently changed. If a workflow needs accented text, emoji, binary data, or much larger payloads, use an appropriate two-dimensional symbology and confirm what the receiving system actually supports.

Generating and testing a label

Enter the exact identifier, generate the barcode, and download its SVG. Keep capitalization, spaces, and punctuation intentional because they encode different values. Open the SVG in the intended label software without stretching it unevenly. Scaling should preserve the aspect ratio and crisp vertical bar edges; raster screenshots can introduce blur that reduces scanning reliability.

Print a representative sample on the real printer, stock, size, and surface. Test it with every scanner model and application used in the workflow, not only a phone camera. Confirm the decoded text against the source character by character. Ink spread, low contrast, glare, curvature, damaged labels, and insufficient quiet space can all defeat a mathematically correct symbol.

Store the underlying identifier in the system of record and generate labels from that value. A barcode is a machine-readable carrier, not a database. If an asset is relabeled, maintain audit and lifecycle records separately. Avoid encoding sensitive data directly when an opaque lookup ID can provide the needed workflow with less disclosure.

Checksums, standards, and operational limits

The checksum helps a scanner detect many reading errors, but it is not cryptographic authentication. Anyone can generate a valid checksum for altered text. A successful scan therefore proves only that the bars form a readable Code 128 value, not that the label came from an authorized issuer or has not been replaced.

Industry programs may require GS1-128 application identifiers, specific dimensions, data formatting, print quality grades, or certified equipment. A generic Code 128-B symbol does not automatically meet those requirements. Follow the applicable specification and trading-partner rules, including how dates, quantities, lot numbers, and check digits must be encoded.

Longer content produces a wider symbol and may force bars below the scanner’s supported module width when squeezed into a fixed label. Shorten the underlying identifier or use a suitable format instead of compressing the SVG beyond reliable limits. PagesTools does not calculate printer dots, physical dimensions, magnification, or formal ISO print-quality grades.

Local creation, privacy, and safe use

Encoding, checksum calculation, SVG creation, and preview generation occur locally in your browser. PagesTools does not need to upload the barcode text. The value and downloaded label may still be visible to extensions, screen capture, backups, cloud synchronization, and anyone with device or physical label access.

Do not treat a barcode as encryption or an access credential merely because people cannot read the bars easily. Most scanners can reveal the source immediately. Keep master identifier records separate from disposable labels and test copies. Use opaque, revocable identifiers and server-side authorization for tickets, accounts, or controlled assets. Test the final printed output and follow the governing barcode standard before operational deployment.

Common questions

Frequently asked questions

What characters can this Code 128-B generator encode?

It accepts printable ASCII characters: ordinary English letters in both cases, digits, spaces, and common punctuation. It rejects control characters and non-ASCII Unicode rather than changing them silently. If you need accented scripts, emoji, binary payloads, or longer content, choose a compatible two-dimensional format and verify the receiving scanner software.

What does the Code 128 checksum guarantee?

The weighted modulo-103 checksum helps scanners detect many accidental reading errors. It does not authenticate an issuer, prevent copying, or resist deliberate alteration, because anyone can calculate a valid checksum for new content. Use protected records, digital signatures, or server-side authorization when the label controls value, identity, or access.

Why might a correct barcode fail to scan after printing?

Printing can blur narrow bars, reduce contrast, remove quiet space, distort proportions, or make the symbol too small. Curved, glossy, damaged, and low-quality surfaces can also interfere. Test the downloaded SVG using the actual printer, stock, label dimensions, scanner models, and destination software before producing a large batch.

Is the barcode text uploaded?

No. Code values, checksum, SVG, and preview are generated locally in your browser. The source can still be exposed through extensions, screen sharing, downloads, backups, or the physical label itself. A barcode is readable encoding rather than encryption, so avoid embedding sensitive data when an opaque lookup identifier would suffice.