BarcodePro Web API for Docker

Self-hosted REST API to Generate GS1-ISO Compliant Barcodes


Key Features

  Linear, Postal & 2D Barcode Symbologies
  REST API in a Docker container (amd64 & arm64)
  High Quality PNG, JPEG, TIFF, PDF, SVG, EPS & more!
  GS1, ISO/IEC & AIM Spec Compliance

  Download   Buy

Advanced Barcode Generator for Docker

BarcodePro Web API for Docker generates barcode images that can be used from Any Development Platform and Programming Languages (.NET, Java, PHP, Javascript, Python, Ruby, and more!). After specifying a Value to encode, choosing a Barcode Symbology, and setting some simple properties, BarcodePro Web API will generate the barcode symbol in the specified image or document format like JPEG/JPG, PNG, PCX, PCL, TIFF, SVG, EPS, and PDF!

It ships as a Linux Docker image for amd64 and arm64 that you run on your own servers, Kubernetes cluster or cloud account. If you prefer an in-process library for .NET, see Barcode Professional for .NET Standard.

Quick Start: a QR Code in 2 Commands

1. Run the container

docker run -d -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2

# ARM64
docker run -d -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2-arm64

2. POST the barcode settings, get the image

curl -X POST "http://localhost:8080/BarcodeGenerator" \
     -H "Content-Type: application/json" \
     -H "Accept: image/png" \
     -d '{"symbology":"QRCode","code":"https://example.com","qrCodeErrorCorrectionLevel":"M","dpi":300}' \
     --output qrcode.png

# Code 128 as PDF, bars sized in inches
curl -X POST "http://localhost:8080/BarcodeGenerator" \
     -H "Content-Type: application/json" \
     -H "Accept: application/pdf" \
     -d '{"symbology":"Code128","code":"ABC123","barcodeUnit":"Inch","barWidth":0.0104,"barHeight":0.5}' \
     --output code128.pdf

Change the Accept header for other formats, and see all barcode properties and symbology values.


Postman Samples for MaxiCode, QR Code, Code-128 & PDF417

MaxiCode Barcode
QR Code Barcode
Code-128 Barcode
PDF417 Barcode

Features at a Glance

   Linear (1D), Postal, Stacked & 2D Barcodes

BarcodePro Web API for Docker supports most popular Linear (1D), Postal, Component Composite & 2D Barcode Symbologies all-in-one solution including Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, FedEx, Japan), Data Matrix (DMRE), QR Code, PDF 417, Aztec Code, UPS MaxiCode, Chinese Han Xin Code, IFA PPN, all EAN/UPC Composite Barcodes (CC-A, CC-B & CC-C), Mailmark, DotCode, Swiss-QRCode, JAB-Code Multicolored 2D Matrix and many more barcode standards

GS1-AIM-ISO/IEC Compliance

Our barcode algorithms were written by following the official specifications of each barcode symbology. Our barcode engine provides you with exclusive features like auto-checksum, data validation, Bar Width Adjustment (BWA) for linear & 2D symbols, auto-encoding methods for shortest barcode symbol generation.

Best-in-class Imaging Support

BarcodePro Web API for Docker creates barcodes in raster formats like PNG, JPEG/JPG, TIFF, PCX, PCL & PDF as well as in SVG & EPS vector formats! All barcode can be rotated at 90, 180 & 270 degrees. Rounded Border & Bearer Bars are also supported. High Quality DPI Resolution is supported for PNG & JPEG outputs.


GS1 Compliance for 2D barcodes at Point of Sale (POS)

Our barcode algorithms are fully 2D capable to meet the GS1's Ambition 2027 requirements. For your reference, the Neodynamic's products are officially listed by GS1 website under Barcode Creation section.

Create Artistic Barcodes

Create customized barcodes by stamping logos or pictures on symbols as well as specifying an image for filling the bars or dots!
Artistic Barcodes with logo & fill patterns

Create Artistic QR Codes with Custom Shape Patterns!

In addition to stamp images on barcode symbols, the ArtModuleShape and ArtFinderShape properties allow you to customize the QR Code modules and finders!

ArtFinderShape Patterns

ArtFinderShape-Rect ArtFinderShape-RoundRect ArtFinderShape-Circle

ArtModuleShape Patterns

ArtModuleShape-Rect ArtModuleShape-Circle ArtModuleShape-Dot ArtModuleShape-Diamond ArtModuleShape-ZebraVertical ArtModuleShape-ZebraHorizontal

QR Code Samples by combining the patterns...

QR-RoundRect-Dot QR-RoundRect-Circle QR-RoundRect-ZebraHorizontal QR-Rect-Diamond QR-Circle-ZebraVertical

Overview

Designed by following some of the REST principles, BarcodePro Web API for Docker responds to a simple HTTP POST by specifying the Barcode settings through a JSON object in the request body, returning the output rendering in the image or document format specified through the Accept header.

Help Doc Topics


Download and run BarcodePro Web API for Docker

BarcodePro Web API for Docker is available at Docker Hub registry.

  • To pull/download the Docker image, please type the following from a Terminal:

    AMD
    docker pull neodynamic/barcodeprowebapi:5.0.2
    ARM
    docker pull neodynamic/barcodeprowebapi:5.0.2-arm64
  • To run the Docker image, please type the following from a Terminal:

    AMD
    docker run -it --rm -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2
    ARM
    docker run -it --rm -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2-arm64

    Special Parameters

    • Auto HTTPS Redirection: By default, HTTPS redirection is enabled. It can be disabled by specifying the following parameter -e "USE_HTTPS_REDIRECTION=false"
    • Swagger UI: By default, Swagger UI is enabled. It can be disabled by specifying the following parameter -e "SWAGGER_UI_ENABLED=false"

Run BarcodePro WebAPI on a Custom Port

By default, our Docker image exposes port 8080 only. If you want to expose and use another different port, then do the following.

  1. Let's suppose you want to use port 12345, then run the docker image with the following parameters:

    AMD
    docker run -it --rm -p 8080:12345 neodynamic/barcodeprowebapi:5.0.2 -e ASPNETCORE_HTTP_PORTS=12345
    ARM
    docker run -it --rm -p 8080:12345 neodynamic/barcodeprowebapi:5.0.2-arm64 -e ASPNETCORE_HTTP_PORTS=12345
  2. Special case for port 80: If you need to use port 80, then run the docker image with the following parameters:

    AMD
    docker run -it --rm -p 8080:80 neodynamic/barcodeprowebapi:5.0.2 -u root -e ASPNETCORE_HTTP_PORTS=80
    ARM
    docker run -it --rm -p 8080:80 neodynamic/barcodeprowebapi:5.0.2-arm64 -u root -e ASPNETCORE_HTTP_PORTS=80

How To Use It - Basic Sample

The following source code invokes the BarcodePro Web API for Docker to generate a PNG image for the specified Barcode JSON object (in this simple example we'll request a QRCode encoding 12345). For more advanced settings please refer to the Barcode JSON Object


                    
curl -X POST "http://localhost:8080/BarcodeGenerator" \
     -H  "Accept: image/png" \
     -H  "Content-Type: application/json" \
     -d "{\"symbology\":\"QRCode\", \"code\":\"12345\"}" \
     --output label.png
                        
                

                    
$data = array(
  'symbology' => 'QRCode',
  'code' => '12345'
);

$options = array(
  'http' => array(
    'method'  => 'POST',
    'content' => json_encode( $data ),
    'header' =>  "Content-Type: application/json\r\n" .
                "Accept: image/png\r\n"
    )
);

$context  = stream_context_create( $options );
$url = 'http://localhost:8080/BarcodeGenerator';
$response = file_get_contents( $url, false, $context );
file_put_contents('label.png', $response);
                        
                

                    
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse("http://localhost:8080/BarcodeGenerator")

header = {'Accept':'image/png', 'Content-Type': 'application/json'}

data = {symbology: 'QRCode', code: '12345'}

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri, header)
request.body = data.to_json

response = http.request(request)

open('/tmp/label.png', 'wb' ) { |file|
    file.write(response.body)
}
                        
                

                    
import requests
import json

url = "http://localhost:8080/BarcodeGenerator"

jsondata = json.dumps( {"symbology": "QRCode", "code": "12345"} )

headers = {
    'content-type': "application/json",
    'accept': "image/png"
    }

response = requests.request("POST", url, data=jsondata, headers=headers)

if response.status_code == 200:
    with open("label.png", 'wb') as f:
        f.write(response.content)

                        
                

                    
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $server_endpoint = "http://localhost:8080/BarcodeGenerator";
my $req = HTTP::Request->new(POST => $server_endpoint);
$req->header('content-type' => 'application/json');
$req->header('accept' => 'image/png');

my $post_data = '{ "symbology" : "QRCode", "code" : "12345" }';

$req->content($post_data);

my $resp = $ua->request($req);
open FILEHANDLE, ">label.png";
print FILEHANDLE $resp->{_content};
close FILEHANDLE;
                        
                

                    
CloseableHttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8080/BarcodeGenerator");
 
String json = "{\"symbology\" : \"QRCode\", \"code\": \"12345\"}";
StringEntity body = new StringEntity(json);
httpPost.setEntity(body);
httpPost.setHeader("Accept", "image/png");
httpPost.setHeader("Content-type", "application/json");
 
CloseableHttpResponse response = client.execute(httpPost);
HttpEntity result = response.getEntity();
if (result != null) {
    try (FileOutputStream outstream = new FileOutputStream(new File("label.png"))) {
        result.writeTo(outstream);
    }
}
client.close();     
                        
                

                    
using var http = new HttpClient();

string json = JsonSerializer.Serialize(new { symbology = "QRCode", code = "12345" });
var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost:8080/BarcodeGenerator")
{
    Content = new StringContent(json, Encoding.UTF8, "application/json")
};
request.Headers.Accept.ParseAdd("image/png");

var response = await http.SendAsync(request);
response.EnsureSuccessStatusCode();
await File.WriteAllBytesAsync("barcode.png", await response.Content.ReadAsByteArrayAsync());
                        
                

                    
// Browser (inside a <script type="module">): show the barcode in an img element
const response = await fetch("http://localhost:8080/BarcodeGenerator", {
    method: "POST",
    headers: { "Content-Type": "application/json", "Accept": "image/png" },
    body: JSON.stringify({ symbology: "QRCode", code: "12345" })
});
const blob = await response.blob();
document.getElementById("barcode").src = URL.createObjectURL(blob);
                        
                

                    
// Node.js 18+ (built-in fetch). Save as convert.mjs (ES module, top-level await)
import fs from "fs";

const response = await fetch("http://localhost:8080/BarcodeGenerator", {
    method: "POST",
    headers: { "Content-Type": "application/json", "Accept": "image/png" },
    body: JSON.stringify({ symbology: "QRCode", code: "12345" })
});
fs.writeFileSync("barcode.png", Buffer.from(await response.arrayBuffer()));
                        
                

The Accept Header

The desired output rendering format must be specified through the Accept header. The supported formats are the following:

Accept Description
image/png Returns the generated barcode symbol in PNG format.
image/jpeg Returns the generated barcode symbol in JPEG/JPG format.
image/tiff Returns the generated barcode symbol in TIFF format.
application/pdf Returns generated barcode symbol as a single PDF document.
application/postscript Returns generated barcode symbol in EPS format. Requires a license key...
image/svg+xml Returns generated barcode symbol in SVG format. Requires a license key...
image/vnd.zbrush.pcx Returns the generated barcode symbol in PCX format.
application/vnd.hp-pcl Returns the generated barcode symbol in PCL format.

The Barcode JSON Object

The body of POST /BarcodeGenerator is a Barcode JSON object. Only symbology and code are required; every other property has a sensible default. These are the most used properties:

PropertyTypeExampleDescription
symbology REQUIREDenum (194 values)Code128Barcode type to generate. See all symbology values.
code REQUIREDstring12345The value to encode.
codeEncodingenum: Text | Base64 | HexThe character encoding format of the Code property value.
barcodeUnitenum: Inch | Millimeter | Centimeter | Mils | MicrometerInchThe unit of measure for the barcode dimensions.
dpinumber96The DPI (dots per inch) or Resolution of the output barcode image.
barWidthnumber0.0104The narrow bars' width of the barcode. In barcode terminology this is called X value. The unit of measure must be specified to barcodeUnit property.
barHeightnumber1The bars' height of the barcode. The unit of measure must be specified to barcodeUnit property.
autoSizebooleantrueWhether the barcode image is automatically resized to display its entire contents.
widthnumber2The width of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property.
heightnumber1The height of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property.
fitProportionalbooleanfalseWhether the barcode symbol is created by automatically calculating the bars or modules sizes so it fits the available area (Width - Height) proportionally.
rotateenum: None | Degree90 | Degree180 | Degree270NoneThe rotation angle to apply on the barcode image.
displayCodebooleantrueWhether the value to encode must be displayed in the barcode image.
humanReadableTextstringThe Human Readable Text to be displayed instead of the value to encode specified in the code property.
textstringThe additional text to show in the barcode image e.g.: Product ID. Note: This is not the value to encode nor the Human Readable Text.
foreColorstring#000The text color for using when rendering code and humanReadableText properties. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
barColorstring#000The bars' color of the barcode. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
backColorstring#fffThe background color. Accepts RGB hex notation (e.g. "#ffffff") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,0)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
quietZoneWidthnumber0.1The quiet zone's width. The unit of measure must be specified to barcodeUnit property.
qrCodeErrorCorrectionLevelenum: L | M | Q | HMThe Error Correction Level to apply for QR Code symbology.
dataMatrixFormatenum (44 values)AutoThe DataMatrix Format to use on that symbology.
pdf417ErrorCorrectionLevelenum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5 | Level6 | Level7 | Level8Level2The Error Correction Level to apply for PDF417 symbology.
epsColorModeenum: None | Cmyk | GrayNoneThe color space to use when generating EPS output (application/postscript). When Cmyk or Gray, all barcode colors (barColor, foreColor, textForeColor, backColor, borderColor, pharmacode2DColorField1..8) are converted to that color space. Colors specified using the exact "cmyk(c,m,y,k)" / "gray(g)" notation are honored without RGB conversion loss. Ignored for other output formats.
tiffPixelFormatenum: Bilevel | Grayscale8 | Rgb24 | Rgba32Rgba32The TIFF pixel format.
All 194 Barcode properties (symbology-specific settings for QR Code, Data Matrix, PDF417, Aztec, MaxiCode, GS1, EAN/UPC, postal codes, EPS, TIFF, PCL...)
PropertyTypeExampleDescription
symbology REQUIREDenum (194 values)Code128Barcode type to generate. See all symbology values.
code REQUIREDstring12345The value to encode.
isCodeBase64booleanfalseWhether the specified value to encode in the code property is in Base64 format. Useful for encoding non-readable/printable chars.
codeBase64EncodingNamestringISO-8859-1The Encoding or CodePage Identifier/Name of the value to encode in the code property when isCodeBase64 is enabled. Default is ISO-8859-1. Valid values are listed at https://github.com/neodynamic/Barcode-Pro-Web-API-Docker/blob/master/README.md#supported-codepagesencodings
barcodeUnitenum: Inch | Millimeter | Centimeter | Mils | MicrometerInchThe unit of measure for the barcode dimensions.
dpinumber96The DPI (dots per inch) or Resolution of the output barcode image.
heightnumber1The height of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property.
widthnumber2The width of the barcode image if autoSize property is not enabled. The unit of measure must be specified to barcodeUnit property.
addChecksumbooleantrueWhether checksum must be generated and attached to the value to encode.
antiAliasbooleantrueWhether AntiAlias effect must be applied to all the texts in the barcode image.
artBarImagePatternstringThe image file (path or Base64 string) that will be used as a pattern to fill all the bars that compose the barcode symbol.
artLogoImagestringThe logo image file (path or Base64 string) that will be used to stamp it on top or bottom of the barcode symbol. Note: this feature is not available when exporting the barcode symbol to EPS format.
artLogoImageOpacityinteger100The opacity [from 1 to 100 (fully opaque)] of the image logo file.
artLogoImagePercentageinteger20The percentage used to resize the logo image based on the barcode symbol size.
artLogoImagePositionenum: Top | BottomTopThe position of the logo image file on the barcode symbol. Default is Top.
artFinderShapeenum: Rect | RoundRect | CircleRectThe barcode symbol finders artistic shape. Default is Rect.
artModuleShapeenum: Rect | RoundRect | Dot | Circle | ZebraHorizontal | ZebraVertical | DiamondRectThe barcode symbol modules/bars artistic shape. Default is Rect.
autoSizebooleantrueWhether the barcode image is automatically resized to display its entire contents.
aztecCodeByteEncodingNamestringISO-8859-1The Encoding Name (Code Page) to be used for Aztec Code in Byte Compaction mode.
aztecCodeErrorCorrectioninteger23The Error Correction Percentage to apply for Aztec Code symbology.
aztecCodeFormatenum (37 values)AutoThe Aztec Code Format to use on that symbology.
aztecCodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
aztecCodeProcessTildebooleanfalseWhether tilde character should be processed when Aztec Code is being generated.
aztecCodeRuneinteger0The Aztec Code Rune value. It must be a value from 0 to 255 and is available for Aztec Code Compact Format only.
backColorstring#fffThe background color. Accepts RGB hex notation (e.g. "#ffffff") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,0)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
barcodePaddingBottomnumber0The bottom extra space inside the container's border. The unit of measure must be specified to barcodeUnit property.
barcodePaddingLeftnumber0The left extra space inside the container's border. The unit of measure must be specified to barcodeUnit property.
barcodePaddingRightnumber0The right extra space inside the container's border. The unit of measure must be specified to barcodeUnit property.
barcodePaddingTopnumber0The top extra space inside the container's border. The unit of measure must be specified to barcodeUnit property.
barColorstring#000The bars' color of the barcode. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
barHeightnumber1The bars' height of the barcode. The unit of measure must be specified to barcodeUnit property.
barRationumber2The wide bars' width compared to the narrow bars' width. In barcode terminology this is called N value.
barWidthnumber0.0104The narrow bars' width of the barcode. In barcode terminology this is called X value. The unit of measure must be specified to barcodeUnit property.
barWidthAdjustmentnumber0The Bar Width Adjustment.
bearerBarStyleenum: None | Frame | HorizontalRulesNoneGets or set the bearer bars' type that must be drawn with the barcode image. Bearer bar is only available for 2 of 5, Code 128 and UCC.EAN 128 barcodes.
bearerBarWidthnumber0.05The bearer bars' width. The unit of measure must be specified to barcodeUnit property.
borderColorstring#000The barcode border's color. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
borderRadiusnumber0The barcode border's radius. The unit of measure must be specified to barcodeUnit property.
borderWidthnumber0The barcode border's width. The unit of measure must be specified to barcodeUnit property.
bottomMarginnumber0The height of the margin below the barcode bars. The unit of measure must be specified to barcodeUnit property.
channelCodeinteger8The Channel Code. Its value must be from 3 up to 8. Each channel code supports its own range of values: Channel 3 [0-26], Channel 4 [0-292], Channel 5 [0-3493], Channel 6 [0-44072], Channel 7 [0-576688], and Channel 8 [0-7742862]
codabarStartCharenum: A | B | C | DAThe start character for Codabar symbology. Possible values are: A, B, C or D.
codabarStopCharenum: A | B | C | DAThe stop character for Codabar symbology. Possible values are: A, B, C or D.
code11TwoDigitsChecksumbooleanfalseWhether Code 11 two digits checksum must be calculated and encoded.
code128CharSetenum: Auto | A | B | CAutoThe characters set to use in the Code 128 symbology. Possible values are: Auto, A, B or C.
code16kModeenum: Mode0 | Mode1 | Mode2Mode0The mode to use for Code16k symbology. Modes supported are: Mode 0, 1, and 2.
code39FullAsciiModebooleantrueWhether the extended versions for Code 39 symbologies must be used.
code93FullAsciiModebooleantrueWhether the extended versions for Code 93 symbologies must be used.
codeAlignmentenum: AboveCenter | AboveLeft | AboveRight | AboveJustify | BelowCenter | BelowLeft | BelowRight | BelowJustifyBelowCenterThe text alignment for code and humanReadableText properties.
codeFormatPatternstringThe string pattern to format the code property. The result of the format process is the one which will be encoded!
dataMatrixByteEncodingNamestringISO-8859-1The Encoding Name (Code Page) to be used for DataMatrix in Byte Compaction mode.
dataMatrixEncodingenum: Auto | Ascii | C40 | Text | Base256 | AnsiX12 | EDIFACTAutoThe DataMatrix Encoding to use on that symbology.
dataMatrixFileIdstring001001The File ID of the Data Matrix symbol. Its value must be a sequence of codewords (Each codeword value must be a number between 001 and 254) and must be the same for all data segments.
dataMatrixFormatenum (44 values)AutoThe DataMatrix Format to use on that symbology.
dataMatrixIncludeRectFormatsInAutoModebooleanfalseWhether to consider Rectangular DataMatrix Formats when DataMatrixFormat is set to Auto.
dataMatrixModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
dataMatrixProcessTildebooleanfalseWhether tilde character should be processed when DataMatrix code is being generated.
dataMatrixSymbolCountinteger1The number of Data Matrix symbols. Its value must be less than or equal to 16.
dataMatrixSymbolIndexinteger1The Index for a Data Matrix symbol. Its value must be 1 up to 16 and must be less than or equal to the value in dataMatrixSegmentCount property.
displayChecksumbooleantrueWhether checksum value must be displayed after the value to encode in the barcode image.
displayCodebooleantrueWhether the value to encode must be displayed in the barcode image.
displayLightMarginIndicatorbooleantrueWhether light margin indicators must be displayed in the barcode image. Only available for EAN/UPC Symbologies.
displayStartStopCharbooleantrueWhether start and stop characters must be displayed in the barcode image.
dotCodeAspectRatiostringThe Columns (width) to Rows (height) Aspect Ratio for DotCode symbology. Aspect Ratio must be specified as C:R where C and R are integers e.g. 3:2
dotCodeColumnsinteger0The number of columns to use for DotCode symbology.
dotCodeModuleShapeenum: Circle | SquareThe shape of the modules that make the DotCode barcode symbol.
dotCodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
dotCodeProcessTildebooleanfalseWhether tilde character should be processed when DotCode is being generated.
dotCodeRowsinteger0The number of rows to use for DotCode symbology.
eanUpcAutoBWAfor1278DigitsEnabledbooleanfalseWhether the recommended Bar Width Adjustment for digits 1, 2, 7 and 8 by GS1 spec is enabled. The GS1 spec states that for digits 1, 2, 7 or 8; the bars (dark bars) and spaces (light bars) are reduced or enlarged by one-thirteenth of a module (BarWidth) to provide a uniform distribution of bar width tolerances and thus improve scanning reliability.
eanUpcMagnificationFactornumber0The Magnification Factor for EAN/UPC barcodes. EAN/UPC barcodes can be printed at various densities to accommodate a variety of printing and scanning processes. The significant dimensional parameter is X, the ideal width of a single module element. In Barcode Professional, this is specified with barWidth property. For EAN/UPC symbols, the X-dimension at nominal size is 0.33 millimeter (= 0.013 inch). The "magnification factor" specifies the size of the barcode symbol as a whole by taking the nominal size as the 1.0 (100%) value.
eanUpcSupplementenum: None | Digits2 | Digits5NoneThe supplement type to use with EAN and UPC symbologies.
eanUpcSupplementCodestring00000The supplement value for EAN and UPC symbologies.
eanUpcSupplementSeparationnumber0.15The gap separation between the EAN/UPC barcode and its supplement. The unit of measure must be specified to barcodeUnit property.
eanUpcSupplementTopMarginnumber0.15The height of the margin above the EAN/UPC supplement bars. The unit of measure must be specified to barcodeUnit property.
fitProportionalbooleanfalseWhether the barcode symbol is created by automatically calculating the bars or modules sizes so it fits the available area (Width - Height) proportionally.
fontBoldbooleanfalseWhether the Font object for code and humanReadableText properties must be bold.
fontItalicbooleanfalseWhether the Font object for code and humanReadableText properties must be italic.
fontNamestringArialThe Font name for using when rendering code and humanReadableText properties.
fontSizeInPointsnumberThe Font size in points unit (1/72 inch) when rendering code and humanReadableText properties.
fontStrikeoutbooleanfalseWhether the Font object for code and humanReadableText properties specifies a horizontal line through it.
fontUnderlinebooleanfalseWhether the Font object for code and humanReadableText properties is underlined.
foreColorstring#000The text color for using when rendering code and humanReadableText properties. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
gS1DataStrictValidationbooleanfalseWhether to strictly validate the specified GS1 Element Strings i.e. Application Identifier plus Data Field based on GS1 General Specifications rules.
guardBarbooleantrueWhether EAN/UPC guard bars must be drawn.
guardBarHeightnumber1.1The guard bars' height. The unit of measure must be specified to barcodeUnit property.
hanXinCodeByteEncodingNamestringISO-8859-1The Encoding Name (Code Page) to be used for Han Xin Code Binary Byte Encoding mode.
hanXinCodeEncodingenum: Auto | Numeric | Text | BinaryByte | ChineseReg1 | ChineseReg2 | GB18030Bytes2 | GB18030Bytes4AutoThe Han Xin Code Encoding to use on that symbology.
hanXinCodeErrorCorrectionLevelenum: L1 | L2 | L3 | L4L1The Error Correction Level to apply for Han Xin Code symbology.
hanXinCodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
hanXinCodeProcessTildebooleanfalseWhether tilde character should be processed when Han Xin Code is being generated.
hanXinCodeVersionenum (85 values)AutoThe Han Xin Code Version to use on that symbology.
hibcFormatHumanReadableTextbooleantrueWhether the Human Readable Text is formatted as specified by HIBC Standards i.e. Zeros are displayed as Slashed-Zeros and the Space character is displayed as an Underscore.
hibcUseIsoIec15434EncodingbooleanfalseWhether the ISO/IEC 15434 Protocol is used to encode the HIBC LIC or PAS Data Structures in 2D symbols.
humanReadableTextstringThe Human Readable Text to be displayed instead of the value to encode specified in the code property.
isbt128DataStructureenum (34 values)DS001The ISBT 128 Data Structure to be generated.
itf14LeftHMarkenum: None | Mark1 | Mark2 | Mark3 | Mark4 | Mark5 | Mark6 | Mark7NoneThe H mark type for the left side of ITF-14 barcode symbol.
itf14RightHMarkenum: None | Mark1 | Mark2 | Mark3 | Mark4 | Mark5 | Mark6 | Mark7NoneThe H mark type for the right side of ITF-14 barcode symbol.
jabCodeColorsinteger8The number of colors for JAB Code Symbol. The number of colors can be set to 2, 4, 8, 16, 32, 64, 128, or 256.
jabCodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
jabCodeSymbolCountinteger1The number of JAB Code Symbols to generate. JAB Code can be composed of a master symbol and many slave symbols. 61 is the maximum number of symbols.
jabCodeSymbolEccLevelstringThe Error Correction Code Level for each or all of the JAB Code Symbols. Default is an empty string which specifies an ECC Level 5. The Error Correction Code levels range from 0 up to 10. If each JAB Code Symbol (in a master-slaves scenario) requires different ECC Levels, then it must be specified in a comma separated string. E.g. 8,4,5 means ECC Level 8 for master symbol and ECC Level 4 and 5 for first and second slave symbols respectively.
jabCodeSymbolPositionstringThe position for each or all of the JAB Code Symbols. Default is an empty string which specifies position 0 (center). JAB Code may have arbitrary forms by cascading master and slave symbols in horizontal and vertical directions. JAB Slave symbols can be docked to the side of a master symbol or other slave symbols. In a master-slaves scenario, each JAB Code Symbol position or location must be specified in a comma separated string stating the Position Indexes (Refer to https://neodynamic.com/barcodes JAB Code page to learn more about Position Indexes). E.g. 0,3,2 means Position Index 0 for master symbol and Position Index 3 and Position Index 2 for first and second slave symbols respectively.
jabCodeSymbolVersionstringThe Version (Side size) for each or all of the JAB Code Symbols. Default is an empty string which specifies the minimum size. A JAB Code Symbol can be of either square or rectangle form. JAB Code allows side Versions ranging from Version 1 (25 modules) up to Version 32 (145 modules). To specify a given side Version, a string must be specified in the format WxH where W is the horizonal side Version number and H is the vertical side Version Number. E.g. 4x4 would be a square JAB Symbol Version 4, 4x2 would be a rectangular JAB Symbol Version 4 (horizontal) and Version 2 (vertical). In a master-slaves scenario, if each JAB Code Symbol requires different side Versions, then it must be specified in a comma separated string. E.g. 4x4,4x2 means Version 8 for master symbol and Version 4 by Version 2 for the slave symbol.
maxiCodeDrawPixelBasedSymbolbooleanfalseWhether the MaxiCode symbol is drawn by using a Pixel Based method; otherwise, a Vector based method is used.
maxiCodeModeenum: Mode2 | Mode3 | Mode4 | Mode5 | Mode6Mode4The MaxiCode mode.
maxiCodeProcessTildebooleanfalseWhether tilde character should be processed when MaxiCode code is being generated.
maxiCodeSymbolCountinteger1The number of MaxiCode symbols in a Structured Appended format. Its value must be less than or equal to 8.
maxiCodeSymbolIndexinteger1The Symbol Index for a Structured Appended MaxiCode. Its value must be 1 up to 8 and must be less than the value in maxiCodeSymbolCount property.
microPdf417Versionenum (35 values)AutoThe MicroPDF417 version (a predefined combinations of numbers of columns and rows) to be generated.
microQRCodeVersionenum: Auto | M1 | M2 | M3 | M4AutoThe Micro QR Code Version to use on that symbology.
msiChecksumenum: OneMod10 | TwoMod10 | Mod11AndMod10OneMod10The checksum mode to be used on MSI symbology.
pdf417AspectRationumber0The ratio of the height to the overall width of the PDF417 symbol. Its value must be 0 (zero) up to 1 (one).
pdf417ByteEncodingNamestringISO-8859-1The Encoding Name (Code Page) to be used for PDF417 Byte Compaction mode.
pdf417Columnsinteger0The number of columns to use for PDF417 symbology.
pdf417CompactionTypeenum: Auto | Binary | Text | NumericAutoThe Compaction Type to apply for PDF417 symbology.
pdf417ErrorCorrectionLevelenum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5 | Level6 | Level7 | Level8Level2The Error Correction Level to apply for PDF417 symbology.
pdf417FileIdstring000The File ID of the Macro PDF417 symbol. Its value must be a sequence of codewords (Each codeword value must be a number between 000 and 899) and must be the same for all data segments.
pdf417Rowsinteger0The number of rows to use for PDF417 symbology.
pdf417SegmentCountinteger0The number of Macro PDF417 symbols. Its value must be less than or equal to 99999.
pdf417SegmentIndexinteger0The Segment Index for a Macro PDF417 symbol. Its value must be 0 (zero) up to 99998 and must be less than the value in pdf417SegmentCount property.
pdf417TruncatedbooleanfalseWhether the right side of PDF417 barcode is truncated (removed).
pharmacode2DColorField1string#5E9C3EThe Pharmacode 2D Color Field 1. Default is #5E9C3E (RGB 94, 156, 62). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField2string#B84027The Pharmacode 2D Color Field 2. Default is #B84027 (RGB 184, 64, 39). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField3string#497AC3The Pharmacode 2D Color Field 3. Default is #497AC3 (RGB 73, 122, 195). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField4string#F0EB04The Pharmacode 2D Color Field 4. Default is #F0EB04 (RGB 240, 235, 4). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField5string#282374The Pharmacode 2D Color Field 5. Default is #282374 (RGB 40, 35, 116). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField6string#98C2A1The Pharmacode 2D Color Field 6. Default is #98C2A1 (RGB 152, 194, 161). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField7string#CB801CThe Pharmacode 2D Color Field 7. Default is #CB801C (RGB 203, 128, 28). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorField8string#7A2E78The Pharmacode 2D Color Field 8. Default is #7A2E78 (RGB 122, 46, 120). Accepts RGB hex notation or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" (components 0 to 1); CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS, otherwise it's approximated to RGB.
pharmacode2DColorFieldsenum: None | Standard | ExtraColorsVariantA | ExtraColorsVariantBStandardThe 2D-Pharmacode Color Fields type.
pharmacode2DTriggerMarkenum: None | Left | Right | Top | BottomLeftWhether to display the 2D-Pharmacode Trigger Mark and its location.
pharmacodeBarsSpacingnumber0.0417The gap between Pharmacode bars. The unit of measure must be specified to barcodeUnit property.
pharmacodeThickBarWidthnumber0.0625The width of Pharmacode Thick Bars. The unit of measure must be specified to barcodeUnit property.
pharmacodeThinBarWidthnumber0.0208The width of Pharmacode Thin Bars. The unit of measure must be specified to barcodeUnit property.
planetHeightShortBarnumber0.1The short bars' height of Planet symbology. The unit of measure must be specified to barcodeUnit property.
planetHeightTallBarnumber0.2The tall bars' height of Planet symbology. The unit of measure must be specified to barcodeUnit property.
postal4StateAddStartStopCharbooleantrueWhether start and stop characters must be added and drawn in the barcode image.
postal4StateBarsSpacingnumber0.0313The gap spacing between bars. The unit of measure must be specified to barcodeUnit property.
postal4StateTrackerBarHeightnumber0.08The tracker bar's height. The unit of measure must be specified to barcodeUnit property.
postal4StateTrackerBarWidthnumber0.0208The tracker bar's width. The unit of measure must be specified to barcodeUnit property.
postnetHeightShortBarnumber0.1The short bars' height of Postnet symbology. The unit of measure must be specified to barcodeUnit property.
postnetHeightTallBarnumber0.2The tall bars' height of Postnet symbology. The unit of measure must be specified to barcodeUnit property.
qrCodeByteEncodingNamestringISO-8859-1The Encoding Name (Code Page) to be used for QR Code Byte Compaction mode. Default it ISO-8859-1.
qrCodeEncodingenum: Auto | Numeric | AlphaNumeric | Kanji | ByteAutoThe QR Code Encoding to use on that symbology.
qrCodeErrorCorrectionLevelenum: L | M | Q | HMThe Error Correction Level to apply for QR Code symbology.
qrCodeMaskenum: Auto | Mask0 | Mask1 | Mask2 | Mask3 | Mask4 | Mask5 | Mask6 | Mask7AutoThe QR Code Mask pattern to use on that symbology.
qrCodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
qrCodeProcessTildebooleanfalseWhether tilde character should be processed when QR Code is being generated.
qrCodeVersionenum (41 values)AutoThe QR Code Version to use on that symbology.
quietZoneWidthnumber0.1The quiet zone's width. The unit of measure must be specified to barcodeUnit property.
rotateenum: None | Degree90 | Degree180 | Degree270NoneThe rotation angle to apply on the barcode image.
segmentsPerRowinteger4The number of segments per row to be used in GS1 DataBar Expanded Stacked or RSS Expanded Stacked symbologies. It must be an even number ranging from 2 up to 22.
snapsToDevicePixelsbooleanfalseA value that determines whether barcode drawing should use device-specific pixel settings during rendering.
telepenEncodingenum: Ascii | NumericAsciiThe Telepen Encoding to use on that symbology.
textstringThe additional text to show in the barcode image e.g.: Product ID. Note: This is not the value to encode nor the Human Readable Text.
textAlignmentenum: AboveCenter | AboveLeft | AboveRight | AboveJustify | BelowCenter | BelowLeft | BelowRight | BelowJustifyAboveCenterThe text alignment for text property.
textFontBoldbooleanfalseWhether the Font object for text property must be bold.
textFontItalicbooleanfalseWhether the Font object for text property must be italic.
textFontNamestringArialThe Font name for using when rendering text property.
textFontSizeInPointsnumber8The Font size in points unit (1/72 inch) when rendering text property.
textFontStrikeoutbooleanfalseWhether the Font object for text property specifies a horizontal line through it.
textFontUnderlinebooleanfalseWhether the Font object for text property is underlined.
textForeColorstring#000The text color for using when rendering text property. Accepts RGB hex notation (e.g. "#000000") or exact CMYK/Grayscale notation as "cmyk(c,m,y,k)" / "gray(g)" with components from 0 to 1 (e.g. "cmyk(0,0,0,1)"). CMYK/Gray notation is only honored exactly when epsColorMode is set accordingly and the output format is EPS; for other output formats it's approximated to RGB.
textFormatPatternstringThe string pattern to format the text property.
tlc39MicroPdf417BarWidthnumber0.0104The narrow bar width for TLC39's MicroPdf417 symbol. The unit of measure must be specified to barcodeUnit property.
tlc39MicroPdf417RowBarHeightnumber0.03125The row bar height for TLC39's MicroPdf417 symbol. The unit of measure must be specified to barcodeUnit property.
topMarginnumber0The height of the margin above the barcode bars. The unit of measure must be specified to barcodeUnit property.
upcESystemenum: System0 | System1System0The number system to use for UPC-E symbology.
useQuietZoneForTextbooleanfalseWhether quiet zones are used for drawing text, code and humanReadableText properties.
uspsFimPatternenum: A | B | C | DAThe USPS FIM pattern to use on that symbology.
uspsHorizontalBarsCountinteger10The number of horizontal bars to be drawn.
isTextBase64booleanfalseWhether the specified text in the text or humanReadableText properties is in Base64 format. Useful for encoding non-readable/printable chars.
textBase64EncodingNamestringISO-8859-1The Encoding or CodePage Identifier/Name of the value to encode in the text or humanReadableText properties when isTextBase64 is enabled. Default is ISO-8859-1. Valid values are listed at https://github.com/neodynamic/Barcode-Pro-Web-API-Docker/blob/master/README.md#supported-codepagesencodings
rightToLeftbooleanfalseWhether the text property should draw right-to-left for RTL languages. Default value is false
textPlacementenum: Left | Right | Top | BottomTopThe text placement for text property. Default it Top.
textZoneWidthnumber0The width of the zone where the text property value will be rendered. The unit of measure must be specified to barcodeUnit property.
textZoneHeightnumber0The height of the zone where the text property value will be rendered. The unit of measure must be specified to barcodeUnit property.
rectMicroQRCodeVersionenum (33 values)AutoThe Rectangular Micro QR Code Version to use on that symbology.
ultracodeErrorCorrectionenum: Level0 | Level1 | Level2 | Level3 | Level4 | Level5Level2The Error Correction Code Level for Ultracode Symbol.
ultracodeModuleSizenumber0.0417The module size. The unit of measure must be specified to barcodeUnit property.
quietZoneBottomnumber0The bottom quiet zone. The unit of measure must be specified to barcodeUnit property.
quietZoneLeftnumber0.1The left quiet zone. The unit of measure must be specified to barcodeUnit property.
quietZoneRightnumber0.1The right quiet zone. The unit of measure must be specified to barcodeUnit property.
quietZoneTopnumber0The top quiet zone. The unit of measure must be specified to barcodeUnit property.
pdf417ProcessTildebooleanfalseWhether tilde character should be processed when PDF417 Code is being generated.
codeEncodingenum: Text | Base64 | HexThe character encoding format of the Code property value.
epsEmbedTextAsOutlinesbooleanfalseWhether text is embedded into generated EPS files as vector outline.
epsEmbedPreviewbooleanfalseWhether a TIFF preview is embedded into generated EPS files.
epsColorModeenum: None | Cmyk | GrayNoneThe color space to use when generating EPS output (application/postscript). When Cmyk or Gray, all barcode colors (barColor, foreColor, textForeColor, backColor, borderColor, pharmacode2DColorField1..8) are converted to that color space. Colors specified using the exact "cmyk(c,m,y,k)" / "gray(g)" notation are honored without RGB conversion loss. Ignored for other output formats.
epsTransparentBackgroundbooleantrueWhether the background must be transparent in the generated EPS file when epsColorMode is Cmyk or Gray.
tiffPixelFormatenum: Bilevel | Grayscale8 | Rgb24 | Rgba32Rgba32The TIFF pixel format.
pclColorModeenum: BlackAndWhite | Grayscale | ColorBlackAndWhiteThe PCL color mode.
pclStandalonebooleantrueWhether the PCL output is a self-contained job; otherwise, only the raster graphics block is emitted so it can be embedded into a larger PCL stream produced elsewhere.

Symbology values (194)

Valid values for the symbology property:

Codabar, Code11, Code16k, Code39, Code93, Code128, DataMatrix, Ean8, Ean13, Industrial2of5, Interleaved2of5, Isbn, Msi, Pdf417, Planet, Postnet, UccEan128, UpcA, UpcE, UspsOneCode4CB, RoyalMail, AustraliaPost, RoyalTpgPostKix, Sscc18, Pzn, DeutschePostLeitcode, DeutschePostIdentcode, UspsTrayLabel, UspsSackLabel, EanVelocity, SingaporePost, Jan8, Jan13, SwissPostParcel, Opc, Ean99, Itf14, Scc14, Issn, Ismn, NumlyNumber, QRCode, UspsFim, UspsHorizontalBars, Telepen, Pharmacode, Semacode, Code32, UspsPicUccEan128, FedExGround96, AztecCode, CompactPdf417, MacroPdf417, MicroPdf417, VicsBol, VicsScacPro, ItalianPost25, Isbt128, HibcLic39, HibcLic128, HibcPas39, HibcPas128, UspsIntelligentMail, EanUpcAddOn2, EanUpcAddOn5, UspsPicCode128, GS1DataBarOmnidirectional, GS1DataBar14, Rss14, GS1DataBarTruncated, GS1DataBar14Truncated, Rss14Truncated, GS1DataBarStacked, GS1DataBar14Stacked, Rss14Stacked, GS1DataBarStackedOmnidirectional, GS1DataBar14StackedOmnidirectional, Rss14StackedOmnidirectional, GS1DataBarLimited, RssLimited, GS1DataBarExpanded, RssExpanded, GS1DataBarExpandedStacked, RssExpandedStacked, GS1128, MaxiCode, MicroQRCode, Matrix2of5, DanishPostal39, FrenchPostal39AR, IATA2of5, AustraliaPostDomesticEParcelBarcode, UspsIntelligentMailContainerBarcode, KodakPatchCode, GS1DataMatrix, Ean13CCA, Ean13CCB, Ean8CCA, Ean8CCB, UpcACCA, UpcACCB, UpcECCA, UpcECCB, UccEan128CCA, UccEan128CCB, UccEan128CCC, GS1128CCA, GS1128CCB, GS1128CCC, GS1DataBarOmnidirectionalCCA, GS1DataBar14CCA, Rss14CCA, GS1DataBarOmnidirectionalCCB, GS1DataBar14CCB, Rss14CCB, GS1DataBarTruncatedCCA, GS1DataBar14TruncatedCCA, Rss14TruncatedCCA, GS1DataBarTruncatedCCB, GS1DataBar14TruncatedCCB, Rss14TruncatedCCB, GS1DataBarLimitedCCA, RssLimitedCCA, GS1DataBarLimitedCCB, RssLimitedCCB, GS1DataBarStackedCCA, GS1DataBar14StackedCCA, Rss14StackedCCA, GS1DataBarStackedCCB, GS1DataBar14StackedCCB, Rss14StackedCCB, GS1DataBarStackedOmnidirectionalCCA, GS1DataBar14StackedOmnidirectionalCCA, Rss14StackedOmnidirectionalCCA, GS1DataBarStackedOmnidirectionalCCB, GS1DataBar14StackedOmnidirectionalCCB, Rss14StackedOmnidirectionalCCB, GS1DataBarExpandedCCA, RssExpandedCCA, GS1DataBarExpandedCCB, RssExpandedCCB, GS1DataBarExpandedStackedCCA, RssExpandedStackedCCA, GS1DataBarExpandedStackedCCB, RssExpandedStackedCCB, Ean14, Dun14Itf, Dun14Ean, GS1QRCode, Ppn, IFAsecurPharm, DhlAwb, HibcLicDataMatrix, HibcLicQRCode, HibcLicAztecCode, HibcPasDataMatrix, HibcPasQRCode, HibcPasAztecCode, Isbt128DataMatrix, DeutschePostResponsePlusPostMatrix, DeutschePostBzl, UspsIntelligentMailPackageBarcode, HanXinCode, JapanPost, KoreaPost, DataLogic2of5, MailmarkCMDM, Mailmark4StateC, Mailmark4StateL, DotCode, GS1AztecCode, SwissQRCode, Pharmacode2D, ChannelCode, JABCode, Plessey, EPCQRCode, Code49, CodablockF, Tlc39, HibcLicCodablockF, HibcPasCodablockF, TriOptic, DINSpecQRCode, DINSpecDataMatrix, RectMicroQRCode, GS1RectMicroQRCode, DPDCode, DAFT, VINCode39, VINQRCode, VINDataMatrix, PharmacodeTwoTrack, Ultracode

Visual samples and specifications of each barcode type are in the Barcode Center.


Errors

Successful requests return HTTP 200 with the barcode in the format requested by the Accept header. Invalid data for the chosen symbology or any processing error returns HTTP 500 with a ProblemDetails JSON object:

{
  "type": "string",
  "title": "string",
  "status": 500,
  "detail": "string",
  "instance": "string"
}

Web API Doc

Interactive OpenAPI reference. The same swagger.json is used by the Swagger UI built into the container (enabled by default). All properties are also listed in The Barcode JSON Object.


Licensing

On-Premise - Full Deployment Control

BarcodePro Web API is licensed for Private On-Premise environments giving you full control on the infrastructure where our product will run on. Please refer to Licensing model and prices...

 License Registration

When you buy a commercial license of BarcodePro Web API for Docker, you are provided with license information (LicenseOwner & LicenseKey) to register the product. The license information must be specified to the Docker image as environment variables as follows:

AMD
docker run -it --rm -e "LICENSE_OWNER=YOUR-COMPANY-NAME" -e "LICENSE_KEY=YOUR_KEY" -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2
ARM
docker run -it --rm -e "LICENSE_OWNER=YOUR-COMPANY-NAME" -e "LICENSE_KEY=YOUR_KEY" -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2-arm64

 Evaluation Mode

The Trial Version of BarcodePro Web API for Docker is fully functional and has no expiry date. However, while in TRIAL mode, the output rendering has the following limitations:


  • SVG & EPS barcode image formats require a license key, a blank image will be generated in TRIAL mode.
  • A TRIAL stamp will be rendered at the top of the rendering output.

 Want to try BarcodePro Web API for Docker without TRIAL watermark?

We offer you a 30-day Evaluation License Key which will allow you to test the BarcodePro Web API for Docker in fully-functional mode for 30 days! When the 30-day Evaluation License Key expires, the BarcodePro Web API for Docker behavior backs to Trial mode. Request your 30-day Evaluation License Key now...

Which Barcode Edition Do I Need?

The same GS1, ISO/IEC & AIM compliant barcode engine is available in these editions:

EditionBest forNuGet package / deliveryPlatforms
Barcode Professional for .NET StandardCross-platform .NET: ASP.NET Core, APIs, console, services, XamarinNeodynamic.SDK.BarcodeCoreWindows, Linux, macOS (.NET Standard 2.0)
Barcode Professional for BlazorBlazor Server & WebAssembly appsNeodynamic.Blazor.BarcodeAny Blazor host
Barcode Professional for Windows FormsWinForms desktop apps, printing & reportsNeodynamic.WinControls.NetCore.BarcodeProfessional (.NET Core 3.1 & .NET 5+)
Neodynamic.WinControls.BarcodeProfessional (.NET Framework)
Windows
Barcode Professional for WPFWPF apps, XPS & vector printingNeodynamic.WPF.NetCore.BarcodeProfessional (.NET Core 3.1 & .NET 5+)
Neodynamic.WPF.Barcode (.NET Framework)
Windows
BarcodePro Web API for DockerAny language, servers and cloudDocker image neodynamic/barcodeprowebapiLinux container (amd64 & arm64)
Barcode Professional for SSRS & PBIRSSQL Server Reporting Services & Power BI Report ServerInstaller: Custom Report Item (CRI) and DLLSSRS 2005–2022, PBIRS
Barcode Professional for ASP.NET LegacyExisting ASP.NET WebForms & MVC appsNeodynamic.WebControls.BarcodeProfessionalWindows (.NET Framework 2.0–4.x)
Barcode Professional SDK for .NET Windows LegacyExisting .NET Framework appsNeodynamic.SDK.BarcodeWindows (.NET Framework 2.0–4.x)

New web or cross-platform project? Use Barcode Professional for .NET Standard. See also the full feature comparison.


BarcodePro Web API FAQ

How do I generate a barcode with a REST API?
Run docker run -p 8080:8080 neodynamic/barcodeprowebapi:5.0.2 and POST a JSON body like {"symbology":"QRCode","code":"12345"} to http://localhost:8080/BarcodeGenerator with the Accept header set to the image format you want, for example image/png.
Which output formats are supported?
PNG, JPEG, TIFF, PCX, PCL and PDF, plus the vector formats SVG and EPS. The format is chosen with the Accept header. SVG and EPS require a license key.
Which barcode types are supported?
194 symbology values, covering linear (1D), postal, stacked, composite and 2D barcodes such as Code 128, GS1-128, EAN-13, UPC-A, ITF-14, GS1 DataBar, Data Matrix, GS1 DataMatrix, QR Code, GS1 QR Code, Micro QR, rMQR, PDF417, Aztec, MaxiCode, Han Xin, DotCode, Swiss QR Code, JAB-Code, USPS Intelligent Mail and Royal Mail Mailmark. See all symbology values.
Which programming languages can I use?
Any language that can send an HTTP POST with JSON: Python, Node.js, JavaScript, Java, PHP, C#, Ruby, Perl, Go or curl. There is no SDK to install.
Is it self-hosted?
Yes. It runs as a Docker container on your own servers, Kubernetes cluster or cloud account, so the data you encode never leaves your infrastructure.
Does it run on ARM64?
Yes. Images are published for amd64 (neodynamic/barcodeprowebapi:5.0.2) and arm64 (neodynamic/barcodeprowebapi:5.0.2-arm64).
Is there a health check endpoint?
Yes. GET /health can be used for Docker, Kubernetes or load balancer health checks.
What are the limitations of the evaluation version?
The trial is fully functional and does not expire, but it adds a TRIAL stamp to the output and SVG and EPS generate a blank image. A 30-day evaluation license key without these limitations is available on request. See Evaluation Mode.

 Latest Release: v5.0.2 2026-11-02

  • Fixed! Added missing image/tiff and application/vnd.hp-pcl Accept Headers.

Full change log (all versions since v1.0) →