awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
lindell avatar

lindell/JsBarcode

0
View on GitHub↗
5,873 stars·1,112 forks·JavaScript·MIT·3 viewslindell.me/JsBarcode↗

JsBarcode

JsBarcode is a JavaScript library for generating machine-readable barcodes in both browser and Node.js environments. It supports a wide range of industry-standard symbologies including CODE128, EAN, UPC, CODE39, ITF-14, MSI, Codabar, Pharmacode, and GS1-128, with automatic check digit calculation for formats that require it.

The library renders barcodes to HTML canvas elements, scalable SVG graphics, or image elements, and provides a chainable API for creating multiple barcodes sequentially with individual options. It includes automatic checksum computation for EAN, UPC, ITF-14, and MSI formats, and can validate input data against the selected symbology's structural requirements before rendering. Barcodes can be initialized directly from HTML data attributes on DOM elements, and the library also supports encoding non-printable ASCII control characters for specialized content.

For server-side use, JsBarcode can generate barcode images in Node.js environments without a browser, enabling automated label and document production workflows. The library also offers raw encoding data extraction for custom rendering or analysis, and supports EAN addon barcode attachments with configurable spacing and styling.

Features

  • Barcode Generators - Creates a machine-readable barcode image from input data, supporting multiple symbologies like CODE128, EAN, and UPC.
  • Canvas Rendering - Draws barcodes onto HTML canvas elements for display or further image processing.
  • SVG and Canvas Converters - Draws barcodes onto HTML canvas elements or outputs as scalable SVG graphics.
  • EAN/UPC Check Digit Calculators - Verifies or automatically computes the final check digit for EAN-13, UPC, and EAN-8 barcodes.
  • EAN/UPC Encoders - Encodes EAN-13, EAN-8, and UPC barcodes with automatic check digit calculation.
  • Client-Side - Generating machine-readable barcodes directly in the browser using JavaScript, with output to canvas, SVG, or image elements.
  • Server-Side Barcode Rendering - Generates barcode images on the server side using a Node.js canvas library without a browser.
  • Barcode Check Digit Calculators - Automatically computes and appends checksum digits for EAN, UPC, ITF-14, and MSI barcode formats.
  • Barcode Data Validators - Validating input data and automatically calculating checksum digits for barcode formats like EAN, MSI, and CODE39.
  • Barcode Symbology Encoders - Encodes input data into multiple barcode symbologies with format-specific bar and space patterns.
  • CODE128 Encoders - Encodes all 128 ASCII characters with efficient number encoding, automatically selecting the optimal sub-mode (A/B/C) or allowing manual mode selection.
  • CODE39 Encoders - Renders a barcode in the CODE39 symbology, encoding numbers, uppercase letters, and a set of special characters for legacy systems.
  • EAN/UPC Encoders - Creates EAN-13, EAN-8, and UPC barcodes with optional guard bars, flat rendering, and check digit validation or auto-calculation.
  • Barcode Rendering Chains - Provides a chainable API for creating multiple barcodes sequentially with individual options.
  • ITF-14 Check Digit Calculators - Automatically computes and appends the missing checksum digit when generating an ITF-14 barcode.
  • Barcode Appearance Customizers - Adjusts barcode rendering with options like custom fonts, font size, text margin, and trailing character markers.
  • EAN Addon Attachments - Attaches EAN-5 or EAN-2 supplementary barcodes to primary EAN-13 or EAN-8 codes with configurable spacing.
  • HTML Attribute Barcode Initializers - Reads barcode value and options directly from data attributes on DOM elements for one-step rendering.
  • ITF-14 - Creates a 14-digit GS1-standard barcode for packaging levels, with automatic checksum calculation when the check digit is omitted.
  • MSI - Creates an MSI (Modified Plessey) barcode encoding numeric digits 0-9, commonly used for inventory control and warehouse labeling.
  • Pharmacode - Creates a pharmaceutical-industry barcode that encodes numeric values from 3 to 131070 on canvas, SVG, or image elements.
  • Sequential Barcode Chains - Creates several distinct barcodes sequentially in a single rendering pipeline with optional spacing.
  • GS1-128 Encoders - Encodes CODE128 barcodes with the GS1-128/EAN-128 application identifier standard for supply chain and retail use.
  • Data Attribute Barcode Initializers - Reads barcode value and options directly from data attributes on HTML elements for one-step rendering.
  • Barcode Text Displays - Shows the encoded value as readable text below or beside the barcode with configurable font and alignment.

Star history

Star history chart for lindell/jsbarcodeStar history chart for lindell/jsbarcode

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does lindell/jsbarcode do?

JsBarcode is a JavaScript library for generating machine-readable barcodes in both browser and Node.js environments. It supports a wide range of industry-standard symbologies including CODE128, EAN, UPC, CODE39, ITF-14, MSI, Codabar, Pharmacode, and GS1-128, with automatic check digit calculation for formats that require it.

What are the main features of lindell/jsbarcode?

The main features of lindell/jsbarcode are: Barcode Generators, Canvas Rendering, SVG and Canvas Converters, EAN/UPC Check Digit Calculators, EAN/UPC Encoders, Client-Side, Server-Side Barcode Rendering, Barcode Check Digit Calculators.

What are some open-source alternatives to lindell/jsbarcode?

Open-source alternatives to lindell/jsbarcode include: inventree/inventree — InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels,… soldair/node-qrcode — node-qrcode is a JavaScript library and command-line tool for generating scannable QR codes from text or binary data.… zxing-js/library — This library is a multi-format barcode processing utility designed for web browsers and server-side environments. It… fogleman/gg — gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a… canvg/canvg — canvg is a JavaScript graphics library and rendering engine designed to parse SVG vector data and draw the resulting… bestony/logoly — Logoly is a browser-based logo editor that generates logos mimicking the signature visual style of popular platforms.…

Open-source alternatives to JsBarcode

Similar open-source projects, ranked by how many features they share with JsBarcode.
  • inventree/inventreeinventree avatar

    inventree/InvenTree

    6,350View on GitHub↗

    InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels, and supply chain operations through a web interface and REST API. The system uses barcodes—including QR codes, 1D barcodes, and Data Matrix codes—as primary identifiers for scanning, linking, and triggering inventory actions, and extends core functionality through a Python plugin framework supporting custom actions, UI panels, barcode handlers, and scheduled tasks. The platform distinguishes itself through a comprehensive plugin-based extensibility system that allows custom in

    Pythondjangohacktoberfestpython
    View on GitHub↗6,350
  • soldair/node-qrcodesoldair avatar

    soldair/node-qrcode

    8,058View on GitHub↗

    node-qrcode is a JavaScript library and command-line tool for generating scannable QR codes from text or binary data. It functions as both a generator library for Node.js and web browser environments and a standalone command-line interface. The project supports producing QR codes in multiple formats, including raster images and scalable vector graphics. It can also render barcodes as text representations directly within a terminal for rapid visual verification. The generator includes capabilities for configuring error correction levels and optimizing data density through various encoding mod

    JavaScript
    View on GitHub↗8,058
  • canvg/canvgcanvg avatar

    canvg/canvg

    3,832View on GitHub↗

    canvg is a JavaScript graphics library and rendering engine designed to parse SVG vector data and draw the resulting graphics onto HTML5 canvas elements. It functions as a pipeline that transforms structured vector markup into pixel-based output for use in web browsers. The library provides a framework for web vector graphics animation, executing rendering cycles to maintain consistent visual motion. It also enables interactive vector graphics by mapping user input, such as mouse clicks and touch events, to specific shapes within the rendered canvas. The engine handles vector-to-pixel transf

    TypeScriptcanvashacktoberfestjavascript
    View on GitHub↗3,832
  • fogleman/ggfogleman avatar

    fogleman/gg

    4,778View on GitHub↗

    gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files. The toolkit enables the construction of complex geometry using Bezier curves and custom paths. It supports a variety of rendering operations, including filling and stroking paths, applying linear and radial gradients, and utilizing surface patterns. The library covers a broad range of capabilities, including text rendering with word wrapping and dimension measu

    Go
    View on GitHub↗4,778
  • See all 30 alternatives to JsBarcode→