Create Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, ITF, MSI, and Pharmacode barcodes. Preview, customize colors and size, then download PNG or SVG.
A barcode is useful when a scanner needs to read a precise value quickly. The bars are not decoration: their widths, spaces, start and stop patterns, and encoded characters depend on the selected symbology. The NetsTool Barcode Generator helps you create a live barcode preview from a value you already have, then adjust the appearance and download a PNG or SVG for a label, test sheet, document, or internal workflow.
This free barcode generator is designed for practical single-barcode jobs, not for issuing product numbers or approving a retail label. Choose the format required by the scanner, inventory application, printer, or business partner before entering data. A barcode can look correct and still fail because the format is wrong, the number has the wrong length, the quiet space was removed, or the printed contrast is too weak. Preview, export, and test the final output before a production run.
The tool supports Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, ITF, MSI, and Pharmacode. Code 128 is a flexible choice for internal identifiers, order references, serial values, and inventory labels because it can represent letters, numbers, and symbols. Code 39 is suited to systems that expect its narrower uppercase character set, while Code 93 is another alphanumeric option. These formats are not interchangeable: the receiving scanner or software must be configured for the same symbology.
EAN-13, EAN-8, and UPC-A are numeric retail formats with defined lengths and check digits. They are appropriate only when the number and retail requirements are already settled. ITF is numeric and works with an even number of digits; MSI accepts numeric input, and Pharmacode accepts a numeric value within its supported range. Selecting a format because its name sounds familiar is a common mistake. Select it because the downstream reader, label specification, or business process expects it.
Choose a format, enter the value, and let the page validate the input as you type. Numeric formats switch the field to a numeric entry mode. Code 39 and Code 93 values are normalised to uppercase, while Code 128 accepts a broader mix of ordinary characters. EAN-13 accepts 12 or 13 digits, EAN-8 accepts 7 or 8, and UPC-A accepts 11 or 12; the tool can add a check digit when the shorter input is supplied. Invalid length or character combinations show an error instead of a misleading preview.
The generator also applies format-specific preparation: an odd-length ITF value is padded with a leading zero, and Pharmacode is limited to values from 3 through 131070. These conveniences do not turn an arbitrary number into an authorised product identifier. For retail use, obtain the correct number through the relevant numbering organisation or supplier process, then use the generator to render that value. Keep the original value in your records so a later scan can be compared with the source data.
After choosing the barcode type and entering a valid value, the SVG preview updates automatically. If the value is empty, the page asks for data; if it is invalid, the help message explains the format problem. This makes the tool useful for checking a SKU, serial number, asset reference, or sample retail number before placing it into a design. The preview is a rendering of the entered value, not a lookup that supplies product information or verifies ownership.
Use the line color and background controls to create sufficient contrast, then adjust bar width and bar height for the destination. Font size controls the human-readable value beneath the bars, and the display-text switch lets you show or hide that value. Download PNG for a common raster image or SVG when a scalable vector file is more appropriate for layout work. Open the downloaded file and check it separately, because an export or design program can change margins, scaling, or colors after the generator has finished.
Scanning depends on more than the encoded number. Keep a clear light margin on both sides of the bars, use a dark single-color foreground with a light background, and avoid placing a border, graphic, fold, or label edge inside the barcode area. Do not squeeze a wide barcode into a narrow space or stretch it unevenly. A larger bar width or height can help a difficult print, but it must still fit the label and match the receiving system's specification.
Make a test print using the same printer, material, scale, and lighting expected in practice. Scan the physical proof with the intended handheld, camera, or point-of-sale reader, then compare the decoded value with the source value. Smudged ink, glossy reflections, low resolution, damaged edges, and excessive reduction can all cause a failure. Human-readable text is a useful backup for manual entry, but it does not repair a symbol that the scanner cannot decode.
Code 128 works well for internal stock keeping units, shipment references, work orders, serial numbers, equipment tags, and developer test data. Code 39 can suit an older asset or access-control workflow that already expects that character set. EAN-13, EAN-8, and UPC-A can help prepare a visual sample for a product label when the correct retail number is already available. ITF, MSI, and Pharmacode are useful only when the receiving equipment or process specifically supports them.
Common mistakes include using a QR code workflow for a one-dimensional barcode, choosing EAN or UPC for an unassigned random number, omitting required digits, cropping the quiet zones, and changing colors without testing the print. The generator does not provide bulk spreadsheet import, label-sheet layout, scanner certification, inventory storage, or product registration. Treat the PNG or SVG as an output asset, keep a copy of the source value, and confirm any regulated, shipping, retail, or warehouse requirement with the organisation that will scan it. For a developer workflow, keep the encoded value in a fixture, compare the decoded result during testing, and use separate sample values for each supported format. If your reader expects a specific prefix, suffix, application identifier, or start/stop rule, enter that structure exactly as documented by the receiving system.