FCKZPL

Frequently Asked Questions

Everything you need to know about FCKZPL

General

What is FCKZPL?

FCKZPL is a free online ZPL II (Zebra Programming Language) viewer and renderer by Cognitys. It converts ZPL label code into PNG and PDF images in real-time.

It supports 50+ ZPL commands, 22 barcode formats, custom font upload, and provides a Labelary-compatible REST API.

Is FCKZPL free?

Yes, completely free. No registration, no API keys, no usage limits (fair use applies). The web viewer and API are available to everyone.

Is FCKZPL a Labelary alternative?

Yes. FCKZPL provides a Labelary-compatible REST API. You can replace api.labelary.com with fckzpl.com in your existing code — the URL pattern, request format, and response format are identical.

# Before
curl -X POST http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/ -d @label.zpl

# After
curl -X POST https://fckzpl.com/v1/printers/8dpmm/labels/4x6/0/ -d @label.zpl
Does FCKZPL store my data?

No. ZPL code is processed in real-time and never stored on our servers. Custom fonts uploaded via the interface are held in memory only for the duration of the rendering request and immediately discarded.

Barcodes

What barcode formats are supported?

1D barcodes: Code 128 (^BC), Code 39 (^B3), Code 93 (^BF), EAN-13 (^BE), EAN-8 (^B9), UPC-A (^B7), UPC-E (^B8), ITF (^B5), CODABAR (^BB), MSI (^BH), GS1-128 (^BD)

2D barcodes: QR Code (^BQ), DataMatrix (^BX), Aztec (^BO), PDF417 (^BP), MaxiCode (^BS)

Postal: POSTNET/PLANET (^BG), Intelligent Mail (^BN), Japan Post (^BJ), Canadian Postal (^BK), Korean Postal (^BL), Dutch KIX (^BM)

Fonts

What fonts are built-in?

Font 0, G, Q: Swiss 721 BT Regular (scalable TrueType, similar to Helvetica)

Fonts P, R, S, T, U, V: Swiss 721 BT Bold

Fonts A-H: Bitmap dot matrix fonts

Font N: Google Noto Sans (Latin, Cyrillic, Greek)

Font J: Google Noto Sans CJK (Chinese, Japanese, Korean)

Font L: Google Noto Sans Arabic

Can I use custom fonts?

Yes. Click the Font button to upload TTF/OTF files, then use the ^CW command to assign them to a designator:

^CWX,R:MYFONT.TTF    ^FX assign MYFONT to designator X
^FO50,50^AXN,40,40^FDCustom text^FS

The font name must match the uploaded filename (without extension, uppercase). Fonts are sent with each render request and are not stored on the server.

API

How do I use the API?

POST your ZPL to the Labelary-compatible endpoint:

curl -X POST https://fckzpl.com/v1/printers/8dpmm/labels/4x6/0/ \
  -d "^XA^FO50,50^A0N,50,50^FDHello^FS^XZ" \
  --output label.png

For PDF output, add -H "Accept: application/pdf".

See the full API documentation for all options.

What are the density options?

6dpmm = 152 DPI — low density

8dpmm = 203 DPI — standard (most common Zebra printers)

12dpmm = 300 DPI — high density

24dpmm = 600 DPI — ultra high density

Is there a size limit?

Yes, the maximum request body size is 10 MB. This applies to ZPL text and font uploads.

Features

What ZPL commands are supported?

50+ commands including:

Fields: ^FO, ^FT, ^FD, ^FS, ^FB, ^FH, ^FR, ^FN, ^FW, ^FP

Fonts: ^A (A-Z, 0-9), ^CF, ^CI, ^CW

Graphics: ^GB, ^GC, ^GD, ^GE, ^GF, ^DG, ^XG

Label: ^LH, ^LR, ^LT, ^LS, ^PW, ^LL

Barcodes: ^BY, ^BC, ^BX, ^BQ, ^BO, ^BP, ^BS, and 16 more

Other: ^SN (serialization)

Can I export labels?

PNG: Click the PNG button (supports rotation)

PDF: Click the PDF button (supports rotation, vector quality)

ZPL: Click the ZPL button to download the source code

Permalink: Click Permalink to copy a shareable URL with your ZPL and settings

What is the Labelary overlay?

The Labelary overlay checkbox fetches a render from the Labelary API and overlays it on your FCKZPL render at 50% opacity. This lets you compare both renderers side-by-side to spot differences.

Last updated: March 2026 — Cognitys