DevTools Surf logoDevTools Surf
AI / Modern DevAnimation / CSSAPI / Config
Sign in
DevTools Surf logoDevTools Surf
AI / Modern DevAnimation / CSSAPI / Config
Sign in
HomeImagesBarcode / GTIN Decoder

Example: Barcode / GTIN Decoder

A worked example, rendered from real sample data. Sign in to run the tool on your own input.

Input
5901234123457
Output
═══ What this tool did ═══
✗ No image was scanned. There is no camera and no image decoder on this page. This page runs entirely on the server that rendered it and makes no outbound network calls.
ℹ It works on the digits you typed: the check digit is recomputed from scratch, the symbology is deduced from the length and structure, and the GS1 prefix is looked up in a table that ships with this page.

═══ Symbology ═══
Digits: 13
Most likely symbology: EAN-13 (GTIN-13)

═══ Check digit ═══
Algorithm: GS1 modulo 10 — weight each digit 3, 1, 3, 1 … from the right, sum, then the check digit is whatever makes the total a multiple of 10.
Body: 590123412345
Printed check digit: 7
Computed check digit: 7
✓ Valid — this number is internally consistent. It does not mean the product exists; only GS1 and the brand owner know that.

═══ What the number means ═══
GTIN-14 normal form: 05901234123457
GS1 prefix 590: GS1 Poland
ℹ The prefix is the GS1 member organisation that allocated the company prefix. It is where the number was registered, not where the product was made.

═══ Commands that read a real barcode image ═══
  zbarimg --quiet --raw barcode.png
  zbarimg --quiet -Sean13.enable -Sisbn13.enable barcode.jpg
  python3 -c "from pyzbar.pyzbar import decode; from PIL import Image; print(decode(Image.open('b.png')))"
  zint -b 13 -d '5901234123457' -o ean13.png        # generate one to test with
ℹ zbarimg reports the symbology it actually found, which is the part no amount of digit analysis can tell you.

═══ What a check digit can and cannot tell you ═══
• A valid check digit means t
…

About Barcode / GTIN Decoder

Barcode / GTIN Decoder preview - Images tool

Verify EAN, UPC, ITF-14 and SSCC check digits, expand UPC-E, decode GS1 element strings and look up the GS1 prefix. Part of the DevTools Surf developer suite. Browse more tools in the Images collection.

Use Cases

  • Verify product barcode integrity before submitting to a retailer system
  • Decode unfamiliar barcodes to identify product origins
  • Validate check digits on manually entered EAN/UPC codes
  • Learn barcode symbology structures for retail/logistics education

Tips

  • Nothing here is scanned from an image: type the digits printed under the barcode and the GS1 mod-10 check digit is recomputed from scratch
  • For a GS1 element string like (01)09506000134352(17)261231, each application identifier is parsed, dated and check-digit verified
  • Use the check digit validator to verify manually typed barcodes before printing labels

Fun Facts

  • The first barcode scanned at a retail checkout was a pack of Wrigley's Juicy Fruit gum at a Marsh Supermarket in Troy, Ohio, on June 26, 1974. That pack of gum is now in the Smithsonian.
  • GS1, the organization that manages global barcode standards, has assigned over 2 million company prefixes worldwide. Each prefix can identify millions of individual products — enabling the global supply chain tracking system.
  • QR codes were invented by Masahiro Hara at Denso Wave in 1994 specifically to track automotive parts at Toyota factories. The patent was filed in Japan but intentionally not enforced, enabling global adoption.

FAQ

What is the difference between UPC-A and EAN-13?
UPC-A is 12 digits used primarily in the US and Canada. EAN-13 is the international 13-digit standard that includes a country code prefix. UPC-A is technically a subset of EAN-13 with a leading '0'.
What is a check digit and why does it matter?
The last digit of a barcode is calculated from the other digits using a modulo formula. Scanners verify this digit to catch transcription errors or damaged codes. The check digit cannot be guessed — it must be calculated correctly.
Can Code128 encode letters and special characters?
Yes — Code128 encodes all 128 ASCII characters including uppercase/lowercase letters, numbers, and symbols. It is the most versatile 1D barcode symbology and is used in shipping labels, ID badges, and warehouse systems.

Related Images Tools

Sample ImagesImage ConverterBulk Image ConverterImage EditorAspect Ratio CalculatorSVG OptimizerFavicon GeneratorLorem Picsum Picker
New · Flagshipsimple REST client

REST Handler — Collections, env vars, history, cURL converter

Send requests, save collections (nested), swap environments, and convert between cURL / Collection JSON / REST Handler YAML.

Open

Popular tools

The most-used tools on DevToolsSurf, one click away.

Encoding & crypto

  • Base64 Encode
  • Base64 Decode
  • URL Encoder
  • URL Decoder
  • Hash Generator
  • JWT Decoder
  • JWT Encoder
  • UUID Generator
  • ULID Generator
  • Password Generator
  • Bcrypt Hash Tester

Converters

  • CSV to JSON
  • JSON to CSV
  • XML to JSON
  • JSON to XML
  • HTML → Markdown
  • HTML → React JSX
  • cURL to Code
  • Collection JSON → cURL
  • Swagger to Collection JSON
  • JSON → Go Struct
  • JSON → TypeScript Types

JSON & YAML

  • JSON Formatter
  • JSON Validator
  • JSON Viewer
  • JSON Minifier
  • JSON Diff
  • JSONPath Tester
  • YAML Formatter
  • YAML to JSON
  • JSON to YAML

Text & regex

  • Regex Tester
  • Text Diff
  • Case Converter
  • Word Counter
  • Markdown Preview
  • Slug Generator
  • Lorem Ipsum Generator
  • Markdown → PDF

CSS & color

  • CSS Beautifier
  • Minify CSS
  • Color Converter
  • Gradient Generator
  • Contrast Checker
  • Color Palette Generator
  • Flexbox Playground
  • Tailwind → CSS

Generators

  • QR Code Generator
  • Mock Data Generator
  • Favicon Generator
  • .gitignore Builder
  • README.md Generator
  • Dockerfile Generator
  • Sitemap Generator

API & networking

  • REST Handler
  • HTTP Header Analyzer
  • IP Address Lookup
  • CIDR Calculator
  • User-Agent Parser
  • HTTP Status Reference
  • OpenAPI Viewer

Date & time

  • Timestamp Converter
  • Timezone Converter
  • Cron Expression Parser
  • Duration Calculator
  • Age Calculator
  • Date Format Converter

Images

  • Image Converter
  • Image Resizer (Batch)
  • SVG Optimizer
  • Base64 ↔ Image
  • WebP ↔ AVIF Converter
  • Image Compressor

PDF tools

  • PDF Merger
  • PDF Splitter
  • PDF Compressor
  • Markdown → PDF
  • EPUB → PDF
  • MOBI / AZW → PDF
  • DOCX → PDF
  • HTML → PDF

Resources

  • Community feed
  • Themes marketplace
  • Pricing & credits
  • Privacy policy
  • Terms of service
  • Sitemap
  • robots.txt

Your account

  • Sign in
  • Dashboard
  • Run history
  • My profile
  • Settings
DevTools Surf logo
DevTools Surf919+ tools

Fast · privacy-first · client-side · © 2026

Home·Feed·ThemesPricing·Sign inPrivacy·Sitemap Feedback