ZINT(1)

πŸŽ€ zint(1) β€” the barcode girlie's field guide πŸŽ€

ok so this is the manual page for zint, from General Commands Manual β€” yes bestie, zint(1), the iconic one, we're doing this πŸ’…


✨ NAME ✨

zint β€” literally encodes your data as a barcode image. that's the whole job. she ate. πŸ’–


🌸 SYNOPSIS 🌸

zint [-h | --help]
zint [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so zint takes input data β€” from the command line or from a file β€” encodes it into a barcode, and then outputs that barcode to an image file. main character energy tbh ✨

Input data is UTF-8, unless you hit it with --binary.

Human Readable Text (HRT) is shown by default for those barcodes that support HRT, unless --notext is specified. so like, the text under the bars? default on. πŸ’…

The output image file (specified with -o | --output) can be in one of these formats:

  • Windows Bitmap (BMP)
  • Enhanced Metafile Format (EMF)
  • Encapsulated PostScript (EPS)
  • Graphics Interchange Format (GIF)
  • ZSoft Paintbrush (PCX)
  • Portable Network Format (PNG)
  • Scalable Vector Graphic (SVG)
  • Tagged Image File Format (TIF)

so many formats. she's versatile. 🫢


😭 OPTIONS 😭

the options. there are so many options. i'm obsessed. lowkey overwhelming but we got this fr fr.

  • -h, --help β€” prints usage info that summarizes all the command line options. your little map when you're lost. πŸ—ΊοΈ
  • -b TYPE, --barcode=TYPE β€” sets the barcode symbology that's gonna encode your data. TYPE is the number or the name of the symbology. if you don't say anything, it defaults to 20 (Code 128). to see what types exist, use the -t | --types option. type names are case-insensitive, and non-alphanumerics get ignored entirely (she doesn't care about your punctuation, respectfully). ✨
  • --addongap=INTEGER β€” for EAN/UPC symbologies, sets the gap between the main data and the add-on. INTEGER is in integral multiples of the X-dimension. the maximum gap you can set is 12. the minimum is 7 β€” except for UPC-A, where the minimum is 9. don't come at her with a 3, she will not accept it. πŸ’€
  • --batch β€” treats each line of an input file (the one you gave with -i | --input) as its own separate data set, and produces a barcode image for every single one. images go out by default to numbered filenames starting with 00001.png, 00002.png, etc., and you can change that with the -o | --output option. barcode factory mode. 🏭
  • --bg=COLOUR β€” sets a background (paper) colour, where COLOUR is in hexadecimal RRGGBB or RRGGBBAA format, or in decimal C,M,Y,K percentages format. aesthetic choices matter bestie. 🎨
  • --binary β€” treats input data as raw 8-bit binary data instead of the default UTF-8. automatic code page translation to an ECI page is disabled, and no validation of the data's character encoding happens at all. she is trusting you completely here, do not betray her. πŸ™ˆ
  • --bind β€” adds horizontal boundary bars (also known as bearer bars) to the symbol. the width of those boundary bars is specified by the --border option. --bind can also be used to add row separator bars to symbols stacked with multiple -d | --data inputs β€” in that case the width of the separator bars is specified with the --separator option. versatile icon. πŸ”₯
  • --bindtop β€” adds a horizontal boundary bar to the top of the symbol. its width is specified by the --border option. just the top one. she's selective. πŸ‘‘
  • --bold β€” uses a bold font for the Human Readable Text (HRT). make it pop. πŸ’…
  • --border=INTEGER β€” sets the width of boundary bars (--bind or --bindtop) or box borders (--box), where INTEGER is in integral multiples of the X-dimension. the default is zero. πŸŽ€
  • --box β€” adds a box around the symbol. the width of the borders is specified by the --border option. cute little frame. πŸ–ΌοΈ
  • --cmyk β€” uses the CMYK colour space when outputting to Encapsulated PostScript (EPS) or TIF files. for the print girlies. πŸ–¨οΈ
  • --cols=INTEGER β€” sets the number of data columns in the symbol to INTEGER. affects Codablock-F, DotCode, GS1 DataBar Expanded Stacked (DBAR_EXPSTK), MicroPDF417 and PDF417 symbols. πŸ“
  • --compliantheight β€” warns you if the height specified by the --height option isn't compliant with the barcode's specification β€” or, if --height isn't given at all, defaults to the height specified by the specification (if any). she's a rule follower and honestly? respect. ⭐
  • -d DATA, --data=DATA β€” specifies the input DATA to encode. the --esc option can be used to enter non-printing characters via escape sequences. the DATA should be UTF-8, unless the --binary option is given, in which case it can be literally anything. 🌈
  • --direct β€” sends output to stdout, which in most cases you should re-direct to a pipe or a file. use --filetype to specify the output format. no file, just vibes and a stream. πŸ¦‹
  • --dmiso144 β€” for Data Matrix symbols, uses the standard ISO/IEC codeword placement for 144 x 144 (--vers=24) sized symbols, instead of the default "de facto" placement (which rotates the placement of ECC codewords). iykyk. πŸ’œ
  • --dmre β€” for Data Matrix symbols, allows Data Matrix Rectangular Extended (DMRE) sizes when considering automatic sizes. see also --square. πŸŽ€
  • --dotsize=NUMBER β€” sets the radius of the dots in dotty mode (--dotty). NUMBER is in X-dimensions and may be floating-point. the default is 0.8. precision babe. ✨
  • --dotty β€” uses dots instead of squares for matrix symbols. DotCode is always in dotty mode, she doesn't get a choice. πŸ“
  • --dump β€” dumps a hexadecimal representation of the symbol's encodation to stdout. the same representation can be outputted to a file by using a .txt extension with -o | --output, or by specifying --filetype=txt. nerd mode activated and i love it. πŸ”
  • -e, --ecinos β€” displays the table of ECIs (Extended Channel Interpretations). the cheat sheet. πŸ“‹
  • --eci=INTEGER β€” sets the ECI code for the input data to INTEGER. see -e | --ecinos for a list of the ECIs available. ECIs are supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, Han Xin Code, MaxiCode, MicroPDF417, PDF417, QR Code, rMQR and Ultracode. the whole squad supports it. πŸ‘‘
note: --eci and -e are two different things β€” -e/--ecinos shows the table, --eci=INTEGER sets the code. don't mix them up bestie, i'm begging. πŸ™
  • --embedfont β€” for vector output, embeds the font in the file for portability. currently only available for SVG output. keeping it self-contained. 🎁
  • --esc β€” processes escape characters in the input data. the escape sequences are:
\0       (0x00)    NUL  Null character
\E       (0x04)    EOT  End of Transmission
\a       (0x07)    BEL  Bell
\b       (0x08)    BS   Backspace
\t       (0x09)    HT   Horizontal Tab
\n       (0x0A)    LF   Line Feed
\v       (0x0B)    VT   Vertical Tab
\f       (0x0C)    FF   Form Feed
\r       (0x0D)    CR   Carriage Return
\e       (0x1B)    ESC  Escape
\G       (0x1D)    GS   Group Separator
\R       (0x1E)    RS   Record Separator
\(       (0x28)    (    Opening parenthesis (only with
                        --gs1parens)
\)       (0x29)    )    Closing parenthesis (only with
                        --gs1parens)
\\       (0x5C)    \    Backslash
\dNNN    (NNN)          Any 8-bit character where NNN is
                        decimal (000-255)
\oNNN    (0oNNN)        Any 8-bit character where NNN is
                        octal (000-377)
\xNN     (0xNN)         Any 8-bit character where NN is
                        hexadecimal (00-FF)
\uNNNN   (U+NNNN)       Any 16-bit Unicode BMP character
                        where NNNN is hexadecimal
\UNNNNNN (U+NNNNNN)     Any 21-bit Unicode character
                        where NNNNNN is hexadecimal
  • --extraesc β€” for Code 128 only: as well as processing the normal escape sequences above, it processes the special escape sequences \^A, \^B, \^C and \^@, which allow manual switching of Code Sets, plus the special escape sequence \^1 which inserts an FNC1 character. the sequence \@ turns manual switching off. and the sequence \^^ can be used to encode data that contains special escape sequences. so meta. 🀯
  • --fast β€” uses faster if less optimal encodation, or other shortcuts. affects Data Matrix, MicroPDF417, PDF417, QRCODE & UPNQR only. speed over perfection, sometimes that's the move. ⚑
  • --fg=COLOUR β€” specifies a foreground (ink) colour, where COLOUR is in hexadecimal RRGGBB or RRGGBBAA format, or in decimal C,M,Y,K percentages format. matches your --bg, obviously. πŸ’–
  • --filetype=TYPE β€” sets the output file type to TYPE, which is one of BMP, EMF, EPS, GIF, PCX, PNG, SVG, TIF, TXT. yes, TXT is in there, that's the --dump situation. πŸ“„
  • --fullmultibyte β€” uses the multibyte modes of Grid Matrix, Han Xin and QR Code for non-ASCII data. for when your data is fancy. 🌍
  • --gs1 β€” treats input as GS1 compatible data. Application Identifiers (AIs) should be placed in square brackets "[]" (but see --gs1parens). also accepts GS1 Digital Link URIs (unverified) for matrix symbologies. πŸ”—
  • --gs1nocheck β€” treats input as GS1 compatible data (same as --gs1) but does not check the validity of the data. she's looking away. πŸ™ˆ
  • --gs1parens β€” treats input as GS1 compatible data (same as --gs1) but processes parentheses "()" as GS1 AI delimiters, rather than square brackets "[]". if the AI data contains opening parentheses, they must be backslashed ("\("). ⚠️
  • --gs1strict β€” treats input as GS1 compatible data (same as --gs1) and uses the GS1 Syntax Engine (if available) to strictly verify the GS1 data, including GS1 Digital Link URIs. ignored if --gs1nocheck is also given. strict queen. πŸ‘‘
  • --gssep β€” for Data Matrix in GS1 mode, uses GS (0x1D) as the GS1 data separator instead of FNC1. πŸŽ€
  • --guarddescent=NUMBER β€” for EAN/UPC symbols, sets the height the guard bars descend below the main bars, where NUMBER is in X-dimensions. NUMBER may be floating-point. πŸͺ‚
  • --guardwhitespace β€” for EAN/UPC symbols, adds quiet zone indicators "<" and/or ">" to HRT where applicable. little arrows, adorable. β¬…οΈβž‘οΈ
  • --height=NUMBER β€” sets the height of the symbol in X-dimensions. NUMBER may be floating-point. πŸ“
  • --heightperrow β€” treats height as per-row. affects Codablock-F, Code 16K, Code 49, GS1 DataBar Expanded Stacked (DBAR_EXPSTK), MicroPDF417 and PDF417. πŸ“Š
  • -i FILE, --input=FILE β€” reads the input data from FILE. specify a single hyphen (-) for FILE to read from stdin. classic. 🧚
  • --init β€” creates a Reader Initialisation (Programming) symbol. πŸ› οΈ
  • --mask=INTEGER β€” sets the masking pattern to use for DotCode, Han Xin or QR Code to INTEGER, overriding the automatic selection. you're in charge now. 🎭
  • --mirror β€” uses the batch data to determine the filename in batch mode (--batch). the -o | --output option can be used to specify an output directory (any filename will be ignored). πŸͺž
  • --mode=INTEGER β€” for MaxiCode and GS1 Composite symbols, sets the encoding mode to INTEGER.

for MaxiCode (SCM is Structured Carrier Message, with 3 fields: postcode, 3-digit ISO 3166-1 country code, 3-digit service code):

…and the rest of that mode table keeps rolling, bestie:

  • 2 β€” SCM with 9-digit numeric postcode
  • 3 β€” SCM with 6-character alphanumeric postcode
  • 4 β€” Enhanced ECC for the primary part of the message
  • 5 β€” Enhanced ECC for all of the message
  • 6 β€” Reader Initialisation (Programming)

For GS1 Composite symbols (names end in _CC, i.e. EAN8_CC, EAN13_CC, GS1_128_CC, DBAR_OMN_CC etc.):

  • 1 β€” CC-A
  • 2 β€” CC-B
  • 3 β€” CC-C (GS1_128_CC only)

  • --nobackground β€” Remove the background colour (EMF, EPS, GIF, PNG, SVG and TIF only).
  • --noquietzones β€” Disable any quiet zones for symbols that define them by default.
  • --notext β€” Remove the Human Readable Text (HRT).
  • -o, --output=FILE β€” Send the output to FILE. When not in batch mode, the default is β€œout.png” (or β€œout.gif” if zint built without PNG support). When in batch mode (--batch), special characters can be used to format the output filenames:
    • ~ β€” Insert a number or 0
    • # β€” Insert a number or space
    • @ β€” Insert a number or * (+ on Windows)
    • Any other β€” Insert literally
  • --primary=STRING β€” For MaxiCode, set the content of the primary message. For GS1 Composite symbols, set the content of the linear symbol.
  • --quietzones β€” Add compliant quiet zones for symbols that specify them. This is in addition to any whitespace specified by -w | --whitesp or --vwhitesp.
  • -r, --reverse β€” Reverse the foreground and background colours (white on black). Known as β€œreflectance reversal” or β€œreversed reflectance”.
  • --rotate=INTEGER β€” Rotate the symbol by INTEGER degrees, where INTEGER can be 0, 90, 270 or 360.
  • --rows=INTEGER β€” Set the number of rows for Codablock-F or PDF417 to INTEGER. It will also set the minimum number of rows for Code 16K or Code 49, and the maximum number of rows for GS1 DataBar Expanded Stacked (DBAR_EXPSTK).
  • --scale=NUMBER β€” Adjust the size of the X-dimension. NUMBER may be floating-point, and is multiplied by 2 (except for MaxiCode) before being applied. The default scale is 1.

For MaxiCode, the scale is multiplied by 10 for raster output, by 40 for EMF output, and by 2 otherwise.

Increments of 0.5 (half-integers) are recommended for non-MaxiCode raster output (BMP, GIF, PCX, PNG and TIF). Human Readable Text (HRT) for raster output will not be shown for scales less than 1.

See also --scalexdimdp below.

  • --scalexdimdp=X[,R] β€” Scale the image according to X-dimension X and resolution R, where X is in mm and R is in dpmm (dots per mm). X and R may be floating-point. R is optional and defaults to 12 dpmm (approximately 300 dpi). X may be zero in which case a symbology-specific default is used.

The scaling takes into account the output filetype, and deals with all the details mentioned above. Units may be specified for X by appending β€œin” (inch) or β€œmm”, and for R by appending β€œdpi” (dots per inch) or β€œdpmm” - e.g. --scalexdimdp=0.013in,300dpi.

  • --scmvv=INTEGER β€” For MaxiCode, prefix the Structured Carrier Message (SCM) with "[)>\R01\Gvv", where vv is a 2-digit INTEGER.
  • --secure=INTEGER β€” Set the error correction level (ECC) to INTEGER. The meaning is specific to the following matrix symbols (all except PDF417 are approximate):
Aztec Code  1 to 4 (10%, 23%, 36%, 50%)
Grid Matrix 1 to 5 (10% to 50%)
Han Xin     1 to 4 (8%, 15%, 23%, 30%)
Micro QR    1 to 3 (7%, 15%, 25%) (L, M, Q)
PDF417      0 to 8 (2^(INTEGER + 1) codewords)
QR Code     1 to 4 (7%, 15%, 25%, 30%) (L, M, Q, H)
rMQR        2 or 4 (15% or 30%) (M or H)
Ultracode   1 to 6 (0%, 5%, 9%, 17%, 25%, 33%)
  • --segN=ECI,DATA β€” Set the ECI & DATA content for segment N, where N is 1 to 9. -d | --data must still be given, and counts as segment 0, its ECI given by --eci. Segments must be consecutive.
  • --separator=INTEGER β€” Set the height of row separator bars for stacked symbologies, where INTEGER is in integral multiples of the X-dimension. The default is zero.
  • --small β€” Use a smaller font for Human Readable Text (HRT).
  • --square β€” For Data Matrix symbols, exclude rectangular sizes when considering automatic sizes. See also --dmre.
  • --structapp=I,C[,ID] β€” Set Structured Append info, where I is the 1-based index, C is the total number of symbols in the sequence, and ID, which is optional, is the identifier that all symbols in the sequence share. Structured Append is supported by Aztec Code, Code One, Data Matrix, DotCode, Grid Matrix, MaxiCode, MicroPDF417, PDF417, QR Code and Ultracode.
  • -t, --types β€” Display the table of barcode types (symbologies). The numbers or names can be used with -b | --barcode.
  • --textgap=NUMBER β€” Adjust the gap between the barcode and the Human Readable Text (HRT). NUMBER is in X-dimensions, and may be floating-point. Maximum is 10 and minimum is -5. The default is 1.
  • --vers=INTEGER β€” Set the symbol version (size, check digits, other options) to INTEGER. The meaning is symbol-specific.

For most matrix symbols, it specifies size:

Aztec Code β€” 1 to 36 (1 to 4 compact)

1   15x15     13  53x53     25  105x105
2   19x19     14  57x57     26  109x109
3   23x23     15  61x61     27  113x113
4   27x27     16  67x67     28  117x117
5   19x19     17  71x71     29  121x121
6   23x23     18  75x75     30  125x125
7   27x27     19  79x79     31  131x131
8   31x31     20  83x83     32  135x135
9   37x37     21  87x87     33  139x139
10  41x41     22  91x91     34  143x143
11  45x45     23  95x95     35  147x147
12  49x49     24  101x101   36  151x151

Code One β€” 1 to 10 (9 and 10 variable width) (HxW)

1   16x18     6   70x76
2   22x22     7   104x98
3   28x32     8   148x134
4   40x42     9   8xW
5   52x54     10  16xW

Data Matrix β€” 1 to 48 (31 to 48 DMRE) (HxW)

1   10x10     17  72x72     33  8x80
2   12x12     18  80x80     34  8x96
3   14x14     19  88x88     35  8x120
4   16x16     20  96x96     36  8x144
5   18x18     21  104x104   37  12x64
6   20x20     22  120x120   38  12x88
7   22x22     23  132x132   39  16x64
8   24x24     24  144x144   40  20x36
9   26x26     25  8x18      41  20x44
10  32x32     26  8x32      42  20x64
11  36x36     27  12x26     43  22x48
12  40x40     28  12x36     44  24x48
13  44x44     29  16x36     45  24x64
14  48x48     30  16x48     46  26x40
15  52x52     31  8x48      47  26x48
16  64x64     32  8x64      48  26x64

Grid Matrix β€” 1 to 13

1   18x18     6   78x78     11  138x138
2   30x30     7   90x90     12  150x150
3   42x42     8   102x102   13  162x162
4   54x54     9   114x114
5   66x66     10  126x126

Han Xin β€” 1 to 84

1   23x23     29  79x79     57  135x135
2   25x25     30  81x81     58  137x137
3   27x27     31  83x83     59  139x139
4   29x29     32  85x85     60  141x141
5   31x31     33  87x87     61  143x143
6   33x33     34  89x89     62  145x145
7   35x35     35  91x91     63  147x147
8   37x37     36  93x93     64  149x149
9   39x39     37  95x95     65  151x151
10  41x41     38  97x97     66  153x153
11  43x43     39  99x99     67  155x155
12  45x45     40  101x101   68  157x157
13  47x47     41  103x103   69  159x159
14  49x49     42  105x105   70  161x161
15  51x51     43  107x107   71  163x163
16  53x53     44  109x109   72  165x165
17  55x55     45  111x111   73  167x167
18  57x57     46  113x113   74  169x169
19  59x59     47  115x115   75  171x171
20  61x61     48  117x117   76  173x173
21  63x63     49  119x119   77  175x175
22  65x65     50  121x121   78  177x177
23  67x67     51  123x123   79  179x179
24  69x69     52  125x125   80  181x181
25  71x71     53  127x127   81  183x183
26  73x73     54  129x129   82  185x185
27  75x75     55  131x131   83  187x187
28  77x77     56  133x133   84  189x189

Micro QR β€” 1 to 4 (M1, M2, M3, M4)

1   11x11     3   15x15
2   13x13     4   17x17

…and yes, there’s still more, bestie β€” keep going πŸ’…

Okay bestie, next up is the QR Code size lore ✨ β€” here's the map, no cap:

QR Code         1 to 40
        1   21x21     15  77x77     29  133x133
        2   25x25     16  81x81     30  137x137
        3   29x29     17  85x85     31  141x141
        4   33x33     18  89x89     32  145x145
        5   37x37     19  93x93     33  149x149
        6   41x41     20  97x97     34  153x153
        7   45x45     21  101x101   35  157x157
        8   49x49     22  105x105   36  161x161
        9   53x53     23  109x109   37  165x165
        10  57x57     24  113x113   38  169x169
        11  61x61     25  117x117   39  173x173
        12  65x65     26  121x121   40  177x177
        13  69x69     27  125x125
        14  73x73     28  129x129

And for rMQR, the sizes are giving (HxW) energy πŸ’… β€” levels 33 to 38 are doing automatic width:

rMQR            1 to 38 (33 to 38 automatic width) (HxW)
        1   7x43      14  11x77     27  15x139
        2   7x59      15  11x99     28  17x43
        3   7x77      16  11x139    29  17x59
        4   7x99      17  13x27     30  17x77
        5   7x139     18  13x43     31  17x99
        6   9x43      19  13x59     32  17x139
        7   9x59      20  13x77     33  7xW
        8   9x77      21  13x99     34  9xW
        9   9x99      22  13x139    35  11xW
        10  9x139     23  15x43     36  13xW
        11  11x27     24  15x59     37  15xW
        12  11x43     25  15x77     38  17xW
        13  11x59     26  15x99

Now for the linear symbols, this option is all about check characters πŸŽ€ β€” and real talk: β€œhide” or β€œhidden” means don’t show in HRT, while β€œvisible” means do display in HRT. Here's the tea:

  • C25IATA β€” 1 or 2 (add visible or hidden check digit)
  • C25IND β€” ditto
  • C25INTER β€” ditto
  • C25LOGIC β€” ditto
  • C25STANDARD β€” ditto
  • Codabar β€” 1 or 2 (add hidden or visible check digit)
  • Code 11 β€” 0 to 2 (2 visible check digits to none)
    • 0 β€” (default 2 visible check digits)
    • 1 β€” (1 visible check digit)
    • 2 β€” (no check digits)
  • Code 39 β€” 1 or 2 (add visible or hidden check digit)
  • Code 93 β€” 1 (show the default check characters)
  • EXCODE39 β€” 1 or 2 (add visible or hidden check digit)
  • LOGMARS β€” 1 or 2 (add visible or hidden check digit)
  • UK Plessey β€” 1 (show the default check characters)
  • MSI Plessey β€” 0 to 6 (none to various visible options)
    • 1, 2 β€” (mod-10, mod-10 + mod-10)
    • 3, 4 β€” (mod-11 IBM, mod-11 IBM + mod-10)
    • 5, 6 β€” (mod-11 NCR, mod-11 NCR + mod-10)
    • +10 β€” (hide)

For a few other symbologies, it specifies other characteristics πŸ¦‹:

  • Channel Code β€” 3 to 8 (no. of channels)
  • DAFT β€” 50 to 900 (permille tracker ratio)
  • DPD β€” 1 (relabel)
  • PZN β€” 1 (PZN7 instead of default PZN8)
  • Ultracode β€” 2 (revision 2)
  • VIN β€” 1 (add international prefix)
  • -v, --version β€” Display zint version.
  • --vwhitesp=INTEGER β€” Set the height of vertical whitespace above and below the barcode, where INTEGER is in integral multiples of the X-dimension.
  • -w, --whitesp=INTEGER β€” Set the width of horizontal whitespace either side of the barcode, where INTEGER is in integral multiples of the X-dimension.
  • --werror β€” Convert all warnings into errors.

πŸ’– EXIT STATUS πŸ’–

  • 0 β€” Success (including when given informational options -h | --help, -e | --ecinos, -t | --types, -v | --version).
  • 1 β€” Human Readable Text was truncated (maximum 199 bytes) (ZINT_WARN_HRT_TRUNCATED)
  • 2 β€” Invalid option given but overridden by Zint (ZINT_WARN_INVALID_OPTION)
  • 3 β€” Automatic ECI inserted by Zint (ZINT_WARN_USES_ECI)
  • 4 β€” Symbol created not compliant with standards (ZINT_WARN_NONCOMPLIANT)
  • 5 β€” Input data wrong length (ZINT_ERROR_TOO_LONG)
  • 6 β€” Input data incorrect (ZINT_ERROR_INVALID_DATA)
  • 7 β€” Input check digit incorrect (ZINT_ERROR_INVALID_CHECK)
  • 8 β€” Incorrect option given (ZINT_ERROR_INVALID_OPTION)
  • 9 β€” Internal error (should not happen) (ZINT_ERROR_ENCODING_PROBLEM)
  • 10 β€” Error opening output file (ZINT_ERROR_FILE_ACCESS)
  • 11 β€” Memory allocation (malloc) failure (ZINT_ERROR_MEMORY)
  • 12 β€” Error writing to output file (ZINT_ERROR_FILE_WRITE)
  • 13 β€” Error counterpart of warning if --werror given (ZINT_ERROR_USES_ECI)
  • 14 β€” Error counterpart of warning if --werror given (ZINT_ERROR_NONCOMPLIANT)
  • 15 β€” Error counterpart of warning if --werror given (ZINT_ERROR_HRT_TRUNCATED)

🌈 EXAMPLES 🌈

Create β€œout.png” (or β€œout.gif” if zint built without PNG support) in the current directory, as a Code 128 symbol.

zint -d 'This Text'

Create β€œqr.svg” in the current directory, as a QR Code symbol.

zint -b QRCode -d 'This Text' -o 'qr.svg'

Use batch mode to read from an input file β€œean13nos.txt” containing a list of 13-digit GTINs, each on a separate line, to create a series of EAN-13 barcodes, formatting the output filenames to β€œean001.gif”, β€œean002.gif” etc. using the special character β€œ~”.

zint -b EAN13 --batch -i 'ean13nos.txt' -o 'ean~~~.gif'

πŸ› BUGS πŸ›

Please send bug reports to https://sourceforge.net/p/zint/tickets/.


πŸ‘€ SEE ALSO πŸ‘€

Full documentation for zint (and the API libzint and the GUI zint-qt) is available from

https://zint.org.uk/manual/

and at

https://sourceforge.net/p/zint/docs/manual.txt


πŸ‘‘ CONFORMING TO πŸ‘‘

Zint is designed to be compliant with a number of international standards, including:

  • ISO/IEC 24778:2024
  • ANSI/AIM BC12-1998
  • EN 798:1996
  • AIM ISS-X-24 (1995)
  • ISO/IEC 15417:2007
  • EN 12323:2005
  • ISO/IEC 16388:2023
  • ANSI/AIM BC6-2000
  • ANSI/AIM BC5-1995
  • AIM USS Code One (1994)
  • ISO/IEC 16022:2024
  • ISO/IEC 21471:2019
  • ISO/IEC 15420:2009
  • AIMD014 (v 1.63) (2008)
  • ISO/IEC 24723:2010
  • ISO/IEC 24724:2011
  • ISO/IEC 20830:2021
  • ISO/IEC 16390:2007
  • ISO/IEC 16023:2000
  • ISO/IEC 24728:2006
  • ISO/IEC 15438:2015
  • ISO/IEC 18004:2024
  • ISO/IEC 23941:2022
  • AIM ITS/04-023 (2022)

Copyright Β© 2025 Robin Stuart. Released under GNU GPL 3.0 or later.


🫢 AUTHOR 🫢

Robin Stuart robin@zint.org.uk


This iconic page is from Version 2.16.0, dated December 2025, and it’s ZINT(1) β€” periodt πŸ’…βœ¨

πŸ“¦ where this page comes from