Free GS1 Barcode Tools
Build product barcodes, decode GS1 data, create Digital Link QR codes or make SSCC logistics labels — four practical tools in one workspace.
Keep this tool in Favorites
Log in or create a free account to find this tool again. Barcode entries are kept separately in your browser.
Multiple items & CSV import
Each item has its own GTIN, batch, dates, serial and copy count. A duplicate keeps its serial unchanged; edit it when the new item needs a unique serial.
Required: gtin. Optional: product_name, batch, expiry, serial, copies, production_date, packaging_date, best_before, additional_id, customer_part. Dates use YYYY-MM-DD; preserve GTIN leading zeroes in your spreadsheet.
Browser drafts & backup
Edits are saved automatically on this browser. Save a separate draft or download a JSON backup for another device. Account Save Tool keeps the tool link, not product data.
Automatic draft is stored only in this browser.
Live barcode preview
Waiting for dataEnter your assigned GTIN or try the example. The preview updates as you edit.
See encoded data and field checks
The actual scanner-data copy uses ASCII 29 between variable-length fields. Parentheses and [GS] are display notation; they are not printed as barcode data.
PNG/SVG export the current item. PDF/Print use every item and its copies. ZIP contains one SVG per item. Product name and readable text follow your print settings.
Recommended for your next step
GS1 Barcode Data Decoder
Paste scanned GS1-128, GS1 DataMatrix or GS1 Digital Link information to identify each application identifier. Optional image reading is supported in compatible browsers.
Accepts parentheses such as (01), scanner data with ASCII 29 group separators, [GS] notation, or an HTTPS Digital Link URI. Unmarked text is not assumed to be a GS1 barcode.
Read a barcode from an image (optional)
Uses your browser's built-in Barcode Detection API when available. Unsupported browsers can still decode pasted scanner data. Reading an image is not guaranteed for every format or image quality.
Enter barcode content to see its GS1 data fields.
Check product identifiers, lot, serial, dates and any warnings before using this information.
GS1 Digital Link QR Generator
Create a QR code containing a structured GS1 Digital Link URL with an existing product identifier and optional traceability fields.
Generate a QR code to download or print.
GS1 Logistics Label Maker
Prepare a printable shipping or pallet label with an assigned SSCC and a GS1-128 barcode. Add optional carton contents and handling text.
Review SSCC, optional contents and the barcode before printing.
4 × 6 in label. The SSCC symbol is positioned in the lowest barcode segment. Print at 100% / Actual size; verify barcode quality with the intended scanner.
Recommended for your next step
More Free CorrectionCopy Tools
How to create a GS1 barcode
- Select the barcode format. Choose GS1 DataMatrix for a compact 2D symbol or GS1-128 for a linear barcode accepted by your trading partner.
- Enter your complete GTIN. Use the existing number assigned to the product, including its check digit. The builder converts GTIN-8, UPC/GTIN-12 and EAN/GTIN-13 to the 14-digit representation required by AI (01).
- Add traceability data. Enter the batch or lot number, expiry date and serial number you need. Open Additional product fields for production, packaging and best-before dates or other supported product identifiers.
- Inspect the live output. The Barcode view makes the symbol easy to see. Printable label shows the product name and readable data; Print page shows the selected PDF/print layout. Check the field values below the preview.
- Export or print. Download the selected item as PNG or SVG, export all copies to PDF, or open Print Preview. Print at Actual size and test the result with the scanner used by the receiving business.
Experienced users can select GS1 element string and paste the supported AIs directly. Multiple items & CSV import helps prepare a product run without re-entering every record.
Product identifiers, batch tracking and serials
A GS1 barcode builder combines an identification key with clearly defined attributes. A supplier can identify the same product in every record while changing its lot, shelf-life date or individual serial. The product name is printed beside the barcode when selected; it is separate from the machine-readable GTIN and AI fields.
- Checked GTIN input: leading zeroes are preserved, shorter valid GTINs are padded, and mismatched check digits produce an actionable error.
- Genuine GS1 encoding: both formats include their leading FNC1 marker. A separator is inserted between a variable-length field and the next AI when required.
- Live inspection: switch between the symbol, printable label and print page, zoom on screen, and inspect the readable AIs and scanner-data representation.
- Batch preparation: add, duplicate or remove items, import CSV, set each item's copies, and export one SVG per item in a ZIP archive.
- Print control: change module width, quiet zones and readable text; linear symbols also have an editable bar height. Use individual label pages or automatically arranged A4 and Letter sheets.
- Local continuity: automatic browser drafts preserve edits, including unfinished fields. A separate saved draft and JSON backup provide additional ways to return to a project.
Supported GS1 Application Identifiers
Application Identifiers tell the receiving system what each value means. These are the common product fields supported by this generator. A GTIN in AI (01) is required in both input modes.
| AI | Data field | Accepted value |
|---|---|---|
| (01) | GTIN | Exactly 14 encoded digits, including a valid check digit |
| (10) | Batch / lot number | 1–20 characters from the GS1 character set |
| (11) | Production date | Six encoded digits: YYMMDD |
| (13) | Packaging date | Six encoded digits: YYMMDD |
| (15) | Best-before date | Six encoded digits: YYMMDD |
| (17) | Expiry / use-by date | Six encoded digits: YYMMDD |
| (21) | Serial number | 1–20 characters from the GS1 character set |
| (240) | Additional product identification | 1–30 characters from the GS1 character set |
| (241) | Customer part number | 1–30 characters from the GS1 character set |
The encoded text fields accept Latin letters, digits and supported punctuation, including hyphens and slashes. Spaces, accented letters, other scripts, @, #, $ and control characters are rejected in these fields. The optional printed product name can use Unicode.
Simple date inputs use YYYY-MM-DD and are converted to YYMMDD without a time-zone conversion. Enter a real day of the month. This builder deliberately requires complete dates; it does not generate month-only values with day 00. Two-digit years are interpreted using the GS1 rolling century window, so the full date must fall within that window.
GS1-128 or GS1 DataMatrix?
GS1-128, also known as UCC/EAN-128, uses a linear bar pattern and can be suitable for carton and supply-chain scanning workflows. It supports up to 48 transmitted data characters, including the AIs and field separators. The symbol, including its quiet zones, must fit within 165.10 mm. Longer values can therefore fail even when each individual field is valid.
GS1 DataMatrix places the same structured product information in a square 2D symbol. It is useful when several attributes need to fit into a smaller space, provided the receiving system has a compatible 2D scanner and understands the AIs.
Select the format your trading partner requires. A regular Code 128 or a plain Data Matrix containing visible parentheses is not automatically a GS1 symbol. This tool inserts the correct GS1 start marker and separators rather than encoding those display conventions as ordinary text.
This page focuses on the listed GTIN-based product fields. It does not issue identifiers, check ownership against a registry or create SSCC logistics keys. For other ordinary barcode types, use the CorrectionCopy Barcode Generator.
Downloads, CSV batches and printing
SVG keeps the bars or matrix cells as scalable vector shapes. PNG provides a white-background image at 203, 300 or 600 DPI. PNG modules are rounded to whole pixels to avoid blurred cell edges; the actual module width is reported after export, and the file records its print resolution. PDF retains vector barcode geometry while rendering the readable text as an image for consistent character support.
PNG and SVG include the current item's product name and human-readable data when those print options are enabled. PDF and Print Preview include the complete project and each item's copy count. A ZIP export contains one SVG per item, with numbered filenames to prevent collisions. Printed product-name characters rely on fonts available on your device; inspect names written in other scripts before printing a batch.
A CSV needs a gtin header. Optional columns include product_name, batch, expiry, serial, copies, production_date, packaging_date, best_before, additional_id and customer_part. Dates use YYYY-MM-DD. Quoted values, comma-separated, semicolon-separated and tab-separated files are supported. Store identifiers as text in spreadsheet software so leading zeroes survive export. CSV exports prefix formula-like text with an apostrophe for spreadsheet safety; JSON backups preserve the original values exactly.
One project supports up to 250 items, 3,000 total copies and 200 print pages. CSV imports are limited to 1 MB and project backups to 3 MB. Larger runs should be split; A4 or Letter sheets can reduce page counts. Use a current browser with JavaScript and canvas support. Printing, clipboard access and local storage can vary with device permissions.
Practical supplier workflows
- Food and consumable stock: identify a product by GTIN, use AI (10) for its production lot, and add the appropriate best-before or expiry field requested by the buyer.
- Serialized products: reuse the assigned GTIN while entering the actual serial number of each item. Duplicate an entry to save typing, then change its serial before exporting.
- Parts supplied to another business: include an additional product identifier or customer part number alongside the GTIN when the receiving system supports those AIs.
- Warehouse import checks: inspect the readable AI list and copy scanner data with its real ASCII 29 separators when testing how a receiving application splits the fields.
Identifier accuracy, print quality and privacy
A valid check digit proves that the number is structurally consistent; it does not prove that you own it or that it identifies the correct product. Use the identifier already assigned to your item. The example is for trying the controls and should be replaced with your own data before commercial use.
The default module width is 0.495 mm, with a 32 mm bar height for GS1-128. DataMatrix receives a two-module white border by default; GS1-128 receives ten modules on each side. The minimum quiet zones cannot be removed. Keep the barcode black on white, preserve the margins and use Actual size when printing. General-distribution, retail and regulated applications can have different size, placement and quality requirements. The generator's validation is not a barcode-verification grade or a certification of an application-specific label.
Generation, CSV reading, image creation, PDF preparation and draft backups happen in your browser. Barcode entries are not sent to a processing server. The normal website and account services still operate: Save Tool sends the tool link to the existing Favorites system, and Share uses the public page URL without product data.
Automatic and manually saved drafts remain in this browser's local storage while available. Reset clears the active project and automatic draft, keeping the separate saved draft. Private browsing, cleared site data or blocked storage can remove or prevent persistence. Download a JSON backup when the work needs to survive those changes or move to another device.
Fixing common barcode problems
- GTIN check-digit error: compare the complete identifier with your source record. Do not change an assigned number simply to satisfy validation.
- Unsupported lot or serial characters: remove spaces and unsupported symbols from the encoded attribute, or use the actual GS1-compatible value supplied for that field.
- GS1-128 is too long: shorten optional attributes or use GS1 DataMatrix if the buyer accepts it. A valid symbol can still exceed the width limit at a large module setting.
- Dates will not validate: enter the full calendar date. In element-string mode use six digits, including a valid day; do not paste an ISO date into a raw AI field.
- Downloads are disabled after an edit: correct the current input or choose Generate. The last valid preview stays visible to help you compare, but it cannot be exported as though it represented unfinished edits.
- The printed barcode will not scan: check the receiver's barcode support, printer resolution, white margins and Actual size setting. Prefer vector SVG or PDF when a PNG would need resizing, then test with the intended scanner.
- A batch import fails: check the reported row, the gtin header, quoted commas and YYYY-MM-DD dates. Failed CSV validation preserves the current entries.
How the GS1 data decoder works
Scan a GS1-128 or GS1 DataMatrix barcode with a scanner configured to return GS1 data, then paste the transmitted characters into the decoder. You can also paste the human-readable application identifier notation (such as (01) for GTIN, (10) for lot and (17) for expiry) or a GS1 Digital Link URL. The decoder shows recognized identifiers, descriptions and check-digit results, and identifies when variable-length fields cannot be separated unambiguously.
Barcode image reading is optional and depends on the browser's Barcode Detection API. A printed image, ordinary Code 128 symbol or unqualified numeric input must not be assumed to contain authentic GS1 structured data. Decoding describes what the data says; it cannot confirm that a supplier owns a GTIN or SSCC, that a product is genuine, or that the information is correct.
Create a GS1 Digital Link QR code
- Use a valid existing GTIN from your product identification records.
- Enter the HTTPS domain or resolver URL that your organization controls and has configured for the destination.
- Add a lot and/or serial number to the structured path when needed. Expiry is an informational data attribute in the query string.
- Generate and test the QR code, then download PNG or scalable SVG artwork.
The generated URI follows the pattern https://id.example.com/01/09506000134352/21/SN123?17=271231. The QR contains a regular HTTPS URI using GS1 Digital Link structure; creating an image does not configure a GS1 resolver, register a GTIN, verify identifier ownership or guarantee that the destination web page exists. Check QR print contrast, size and scanner behavior in the real application. For the official URI rules, consult the GS1 Digital Link URI Syntax Standard.
GS1-128 logistics labels and SSCC
The Serial Shipping Container Code (SSCC), represented by application identifier (00), identifies a logistic unit such as a pallet, parcel or shipping container. Enter an SSCC assigned using your GS1 Company Prefix. The label maker validates its check digit, or calculates the last digit from your 17-digit SSCC body, and places the SSCC GS1-128 barcode in the lowest barcode section of a 4 × 6 inch label.
Optionally include a contained trade item's GTIN using AI (02) together with quantity AI (37); add a lot or expiry when relevant. The contained-item barcode appears above the SSCC. Sender, destination, handling and shipment-reference fields are human-readable text, not additional encoded GS1 AIs. The final label can be exported as SVG, PNG or PDF, and printed at Actual size.
A valid SSCC check digit does not confirm prefix ownership or GS1 allocation. Carrier, retailer and industry requirements can specify additional formatting, dimensions, business data, compliance tests or barcode verification. Use the recipient's label specification and an appropriate barcode verifier for production labels. Refer to the GS1 Logistic Label Guideline for additional requirements.
Compatibility, privacy and troubleshooting
- Identifier check fails: check all GTIN or SSCC digits against the source record, including leading zeros. Never edit an assigned identifier simply to make its check digit pass.
- Unknown AI or incomplete raw scan: obtain scanner output that preserves GS1 group separators, or paste the parenthesized element-string form. Some incomplete raw values cannot be parsed reliably.
- Image decode is unavailable: use a barcode reader to paste the decoded text; native image detection depends on browser support and image quality.
- Digital Link opens the wrong destination: verify that your own domain and resolver or site routing support the exact generated URI path and query string.
- QR or logistics label is hard to scan: preserve white quiet zones and print at Actual size without unexpected scaling. Test the physical print using a compatible scanner.
- Large or complex logistics data: a GS1-128 symbol has physical-size and character constraints. Shorten optional values or consult the receiving partner's labelling specifications.
These three additional workspaces process entered text and generate output in the browser. No barcode value is put in the page URL. Optional image decoding uses the browser's local detection interface if available; standard website services such as analytics and account Favorites still operate separately. Output files have the correctioncopy.com_ prefix.
Frequently asked questions
Can this tool give me a new GS1 GTIN?
No. Enter the existing identifier assigned to your product. The builder checks its length and check digit and prepares its 14-digit AI (01) representation; it does not allocate GTINs or confirm ownership.
What is the difference between GS1-128 and GS1 DataMatrix?
GS1-128 is a linear barcode with a 48-data-character limit. GS1 DataMatrix is a square 2D symbol that can hold the supported product attributes more compactly. Both include the GS1 FNC1 marker. Choose the format the receiving business accepts.
Are AI parentheses and [GS] printed inside the barcode data?
AI parentheses are readable notation, and [GS] represents a separator for inspection. The barcode contains the AI digits and values with the correct FNC1 separators. Copy Scanner Data uses real ASCII 29 separator characters. Literal parentheses inside a value are preserved; escape them as \( and \) in element-string mode.
Which dates can I encode, and is day 00 accepted?
The builder supports production, packaging, best-before and expiry dates. Simple fields use full YYYY-MM-DD dates and encode them as YYMMDD. A real day is required; month-only values with day 00 are outside this builder’s supported scope.
Can I generate many product or serial-number barcodes at once?
Yes. Add items or import a UTF-8 CSV with a gtin column. Use one row per product/serial record and set copies where needed. A project supports up to 250 items, 3,000 copies and 200 print pages. ZIP contains one SVG per item; PDF and Print include all copies.
Should I download PNG, SVG or PDF for printing?
SVG and PDF retain vector barcode shapes at the selected module width. PNG offers 203, 300 or 600 DPI with whole-pixel modules; its actual module width is reported after export. Print at Actual size and verify a sample with the intended scanner.
Are my barcode entries uploaded or included in the share link?
Barcode processing and drafts stay in your browser. Share contains only the public tool URL. Save Tool uses the existing account service to save the tool link, not your product entries. Browser drafts depend on local storage; a JSON backup can move the project to another device.
Why does the previous preview remain after an invalid edit?
The previous barcode stays visible for comparison while the current field error is shown. Export buttons are paused until the new entries are valid and generated. Your unfinished edit is kept in the automatic draft rather than silently discarded.
Which formats can the GS1 Data Decoder read?
Paste GS1 element strings, supported raw GS1-128 or DataMatrix scanner output with its separator characters, or GS1 Digital Link URIs. Image reading depends on Barcode Detection API support in your browser.
Does making a GS1 Digital Link QR code configure a web resolver?
No. The QR contains an HTTPS URI built from your supplied base domain and product identifier. You must configure the destination website or resolver separately and verify it opens correctly.
Can the Logistics Label Maker allocate an SSCC or certify a shipment label?
No. Supply an assigned SSCC or its 17-digit body from your organization. The page checks its check digit and creates printable art, but does not allocate identifiers or certify conformance with a carrier or retailer specification.