Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tc Lib Barcode Laravel Package

tecnickcom/tc-lib-barcode

Pure-PHP barcode generator for linear and 2D symbologies. Spec-driven, deterministic encoding suitable for labels, tickets, logistics, and compliance docs. Generate barcode data once and render as vector or raster output.

View on GitHub
Deep Wiki
Context7

tc-lib-barcode

PHP library for generating linear and 2D barcodes.

Latest Stable Version Build Coverage License Downloads

Sponsor on GitHub

💖 Part of the tc-lib-pdf / TCPDF ecosystem (100M+ installs). Sponsor its maintenance →


Overview

tc-lib-barcode is a pure-PHP barcode generation library with broad support for industrial, retail, logistics, and document automation use cases.

It focuses on deterministic output and specification-driven encoding, making it suitable for labels, tickets, warehouse flows, and compliance documents. The API is structured so applications can generate barcode data once and render it as vectors or raster images depending on their output target.

Namespace \Com\Tecnick\Barcode
Author Nicola Asuni info@tecnick.com
License GNU LGPL v3 - see LICENSE
API docs https://tcpdf.org/docs/srcdoc/tc-lib-barcode
Packagist https://packagist.org/packages/tecnickcom/tc-lib-barcode

Supported Formats

Linear

Format Description
C39 CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9
C39+ CODE 39 with checksum
C39E CODE 39 EXTENDED
C39E+ CODE 39 EXTENDED + CHECKSUM
C93 CODE 93 - USS-93
S25 Standard 2 of 5
S25+ Standard 2 of 5 + CHECKSUM
I25 Interleaved 2 of 5
I25+ Interleaved 2 of 5 + CHECKSUM
C128 CODE 128
C128A CODE 128 A
C128B CODE 128 B
C128C CODE 128 C
EAN2 2-Digits UPC-Based Extension
EAN5 5-Digits UPC-Based Extension
EAN8 EAN 8
EAN13 EAN 13
UPCA UPC-A
UPCE UPC-E
MSI MSI (Variation of Plessey code)
MSI+ MSI + CHECKSUM (modulo 11)
CODABAR CODABAR
CODE11 CODE 11
PHARMA PHARMACODE
PHARMA2T PHARMACODE TWO-TRACKS

2D

Format Description
AZTEC AZTEC Code (ISO/IEC 24778:2008)
DATAMATRIX DATAMATRIX (ISO/IEC 16022)
PDF417 PDF417 (ISO/IEC 15438:2006)
QRCODE QR-CODE
SRAW 2D RAW MODE (comma-separated rows of 01 strings)

Postal

Format Description
POSTNET POSTNET
PLANET PLANET
RMS4CC RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)
KIX KIX (Klant index - Customer index)
IMB IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200
IMBPRE IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 - pre-processed

Rendering

  • HTML output for web previews
  • Image-based rendering for downstream processing
  • Configurable dimensions, padding, and color

Output Formats

  • PNG Image
  • SVG Image
  • HTML DIV
  • Unicode String
  • Binary String

Requirements

  • PHP 8.2 or later
  • Extensions: bcmath, gd
  • Composer

Installation

composer require tecnickcom/tc-lib-barcode

Quick Start

<?php

require_once __DIR__ . '/vendor/autoload.php';

$barcode = new \Com\Tecnick\Barcode\Barcode();
$bobj = $barcode->getBarcodeObj(
    type: 'QRCODE,H',
    code: 'https://tecnick.com',
    width: -4,
    height: -4,
    color: 'black',
    padding: [-2, -2, -2, -2],
)->setBackgroundColor('white');

echo $bobj->getInlineSvgCode();

For more formats and rendering options, see the example/ directory.


Development

make deps
make help
make qa

To preview the example app in a browser:

make server

Then open http://localhost:8000/ (served from the example/ directory).

To use a different port:

make server PORT=8080

Build artifacts and reports are generated in target/.


Packaging

make rpm
make deb

For system packages, bootstrap with:

require_once '/usr/share/php/Com/Tecnick/Barcode/autoload.php';

Contributing

Contributions are welcome. Please read CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md before submitting a pull request.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky