Barcode Generator: Eight Formats, Native PNG and SVG
Build an inventory label with a format your scanner understands
A barcode translates a value into bars, not into a product registration or a stock record. This tool offers eight formats and renders the current value as SVG or PNG. Pick a format supported by your receiving system, check the encoded value, and test a real label before preparing a large print run.
A worked workshop-kit label
Select Load kit label to use KIT-042 in CODE128, with bar width 2, height 80, black bars on white and text enabled. The Encoded value shows KIT-042. Download PNG or SVG and compare a scanner's output with that exact value. Edit it to KIT-043: the old exports disappear during generation. Clearing the input removes the image and download controls, so an old kit number cannot silently become the next label.
PNG uses the rendered barcode's intrinsic dimensions, reported next to the preview. The browser may shrink the preview to fit a phone, but that display size does not set the export resolution. SVG retains scalable bars and text. Printing either image at a different physical size changes the effective bar width; inspect your printer's scaling settings and test the final paper label.
Eight formats, different input rules
CODE128 accepts printable ASCII in this interface. CODE39 accepts uppercase letters, digits, spaces and its supported punctuation; kit-042 is rejected rather than silently converted. Use the QR text generator for Unicode messages. MSI accepts digits and applies no additional MSI checksum here. Pharmacode accepts integers from 3 through 131070 in the installed renderer; it normalizes leading zeros and does not provide pharmaceutical validation.
EAN13, EAN8, UPC and ITF14 accept either data digits or a complete number whose last digit passes the modulo-10 check. The following synthetic values demonstrate this calculation; they are not assigned product identifiers.
- EAN13:
123456789012becomes1234567890128. - EAN8:
1234567becomes12345670. - UPC:
12345678901becomes123456789012. - ITF14:
1234567890123becomes12345678901231.
For the EAN13 example, weights alternate 3 and 1 from the rightmost data digit. The weighted sum is 92, so the last digit is 8 to reach the next multiple of ten. Entering 1234567890129 instead shows an invalid check-digit error. The calculation catches some transcription mistakes; it does not establish ownership, uniqueness or acceptance by a retail system. Obtain and manage identifiers through the appropriate system separately.
Appearance and troubleshooting
Values are bounded to 80 characters, and numeric formats reject signs and spaces. Bar width ranges from 1 to 5 in half-pixel steps; bar height ranges from 20 to 200 pixels. Each side has a margin of twelve selected bar-width units. Dark bars on a light background must pass a 3:1 color-contrast heuristic. This does not certify a barcode's physical dimensions or scanning quality.
If generation fails, check the format before changing the value. EAN and UPC have specific digit counts; CODE39 rejects lowercase and some punctuation. Generation has a 20-second deadline and does not retain another input's image. For print failures, start with black on white, avoid stretching the image, leave its margins intact and compare the printed scan with the displayed encoded value. Use system-specific checks for production labels, rather than interpreting a preview as certification.
Processing and downloads
The renderer validates and generates images in the browser without a generation API or barcode lookup. It does not create inventory records, look up prices or query a product database. Download failures are shown explicitly. Any saved image or printed label exposes the encoded value to scanners; avoid placing confidential information in it. Normal site traffic follows our Privacy Policy. Use a short internal label plus a separate inventory record when a long description would make the bars impractical.