Barcode libraries for five languages
Pick the package for your stack. Each library generates the same UPC-A, EAN-13 and Code 39 barcodes and has no runtime dependencies.
| Language | Package registry | Runtime |
|---|---|---|
| JavaScript | npm | Node.js 18 or newer, and modern browsers as ES modules |
| Python | PyPI | Python 3.10 or newer |
| C# | NuGet | .NET Standard 2.0 and .NET 8 |
| PHP | Packagist | PHP 8.1 or newer |
| Java | Maven Central | Java 8 bytecode, built with Maven |
Which language should I use?
- Web apps and Node.js servicesJavaScript
- Scripts, data work and back endsPython
- Windows and .NET applicationsC#
- PHP web applicationsPHP
- JVM services and Maven projectsJava
Check the output yourself
Every library returns the same number of modules for the same input. Run these in any language and compare the counts.
| Barcode | Input | Full code | Modules |
|---|---|---|---|
| UPC-A | 03600029145 | 036000291452 | 95 |
| EAN-13 | 400638133393 | 4006381333931 | 95 |
| Code 39 | CODE39 | *CODE39* | 103 |
UPC-A and EAN-13 include the check digit in the full code. Code 39 adds start and stop characters and has no check digit. The module count includes the gaps between characters.