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.

LanguagePackage registryRuntime
JavaScriptnpmNode.js 18 or newer, and modern browsers as ES modules
PythonPyPIPython 3.10 or newer
C#NuGet.NET Standard 2.0 and .NET 8
PHPPackagistPHP 8.1 or newer
JavaMaven CentralJava 8 bytecode, built with Maven

Which language should I use?

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.

BarcodeInputFull codeModules
UPC-A0360002914503600029145295
EAN-13400638133393400638133393195
Code 39CODE39*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.