مواد پر جائیں

ZPL compatibility of the OpenZPL engine

The OpenZPL engine draws the 64 ZPL commands of the command reference, one of them partially, and skips the ones that configure the printer. The barcode and text commands listed under “Not supported yet” don't draw correctly today.

Tested 2026-10-26 with openzpl-api 10d0497 at 8 dpmm.

How we test

Every example on this site is a fixture: a short synthetic label that the engine renders to a PNG when the site is built. If a fixture's ZPL changes and its image isn't rendered again, the build fails, so the image always shows what the engine does with that exact code.

The 140 fixtures are public in fixtures.json, with their size, density and image, under CC0. Use them to test any ZPL renderer.

A preview isn't a print. Darkness, media, firmware and the fonts installed on a printer change the result, so check critical labels on the printer itself.

Drawn

Commandیہ کیا کرتا ہےCategoryEvidence
^XA ایک لیبل کھولتا ہے۔ ہر چیز جو ^XZ تک ہے ایک لیبل ہے۔ لیبل کا فارمیٹ Rendered example
^XZ ^XA کے ذریعے کھلا لیبل بند کرتا ہے اور اسے پرنٹ کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^PW لیبل کی چوڑائی نقطوں میں مرتب کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^LL لیبل کی لمبائی نقطوں میں مرتب کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^LH اس نقطے کو منتقل کرتا ہے جس سے ہر میدان کی پوزیشن ناپی جاتی ہے. لیبل کا فارمیٹ Rendered example
^LS ہر فیلڈ کو دیے گئے عدد کے نقاط کی طرف بائیں منتقل کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^LT پورے لیبل کو دی گئی نقطوں کی قطاروں کی تعداد سے اوپر یا نیچے منتقل کرتا ہے. لیبل کا فارمیٹ Rendered example
^PO لیبل کو عام طور پر (N) یا الٹے (I) پرنٹ کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^PM جب Y پر سیٹ کیا جائے تو پورے لیبل کو افقی طور پر آئینے کی طرح دکھاتا ہے. لیبل کا فارمیٹ Rendered example
^PQ کتنی لیبلز پرنٹ کرنی ہیں؛ ہر ایک کا شمار پیش نظارہ میں ایک لیبل کے طور پر ہوتا ہے۔ لیبل کا فارمیٹ Rendered example
^MU نارڈک پیمانے کی اکائی کو ڈاٹس، انچ یا ملی میٹر میں تبدیل کرتا ہے۔ لیبل کا فارمیٹ Rendered example
^CI کردار کا سیٹ منتخب کرتا ہے۔ ^CI28 UTF-8 ہے۔ لیبل کا فارمیٹ Rendered example
^FO فیلڈ کی پوزیشن مرتب کرتا ہے: اوپر بائیں کونے سے نقطوں میں x، y نقاط۔ فیلڈز اور مقام Rendered example
^FT ایک فیلڈ کو اس کی بنیادی لائن کے ذریعے اس کے اوپر بائیں کونے کے بجائے پوزیشن دیتا ہے۔ فیلڈز اور مقام Rendered example
^FD موجودہ فیلڈ کا ٹیکسٹ یا بارکوڈ ڈیٹا۔ فیلڈز اور مقام Rendered example
^FS موجودہ فیلڈ کا اختتام۔ فیلڈز اور مقام Rendered example
^FB متن کو ایک بلاک میں لپیٹتا ہے جس کی چوڑائی، لائن کی تعداد اور سیدھ ہو۔ فیلڈز اور مقام Rendered example
^FR اس کے نیچے موجود چیز پر سفید رنگ میں پرنٹ کرتا ہے۔ فیلڈز اور مقام Rendered example
^FH کرتا ہے کہ ^FD میں ہیکس ای سکپس شامل ہوں جیسے _0D. فیلڈز اور مقام Rendered example
^FW متعلقہ فیلڈز کے لئے ڈیفالٹ گردش مرتب کرتا ہے۔ فیلڈز اور مقام Rendered example
^FN یہ ایک متغیر میدان کا نام رکھتا ہے جبکہ اسے محفوظ شدہ شکل میں پیش کیا جاتا ہے۔ فیلڈز اور مقام Rendered example
^FX ایک تبصرہ۔ پرنٹر اگلے کمانڈ تک سب کچھ نظر انداز کرتا ہے۔ فیلڈز اور مقام Rendered example
^SN ہر لیبل پر بڑھتا ہوا نمبر پرنٹ کرتا ہے۔ فیلڈز اور مقام PartialRead but not drawn: the serial field is left out and copies aren't incremented (the same as Labelary's preview). Rendered example
^A اگلے ٹیکسٹ فیلڈ کے لئے طابعت، گردش اور سائز منتخب کرتا ہے۔ متن اور فونٹس Rendered example
^A@ طابعت کو اس کے فائل کے نام کے ذریعے منتخب کرتا ہے۔ متن اور فونٹس Rendered example
^CF جب ایک فیلڈ میں کوئی ^A نہ ہو تو استعمال ہونے والی طابعت اور سائز مرتب کرتا ہے۔ متن اور فونٹس Rendered example
^TB متن کے میدان کو دی گئی چوڑائی اور اونچائی کے اندر ایک باکس میں لپیٹتا ہے۔ متن اور فونٹس Rendered example
^CW ایک فونٹ فائل کو ایک حرفی نام تفویض کرتا ہے۔ متن اور فونٹس Stores or recalls data; no image of its own
^BY بارکوڈز کے لئے ماڈیول کی چوڑائی، کشادہ سے تنگ تناسب اور اونچائی مرتب کرتا ہے جو بعد میں ہوں گے۔ بارکوڈز Rendered example
^BC کوڈ 128 بارکوڈ، شپنگ لیبلز پر سب سے عام۔ بارکوڈز Rendered example
^B3 کوڈ 39 بارکوڈ۔ بارکوڈز Rendered example
^B2 انٹرلیوڈ 2 آف 5 بارکوڈ، صرف عددی۔ بارکوڈز Rendered example
^BE EAN-13 ریٹیل بارکوڈ۔ بارکوڈز Rendered example
^B8 EAN-8 ریٹیل بارکوڈ۔ بارکوڈز Rendered example
^BU UPC-A ریٹیل بارکوڈ. بارکوڈز Rendered example
^B9 UPC-E ریٹیل بارکوڈ. بارکوڈز Rendered example
^BQ QR Code۔ فیلڈ کا ڈیٹا غلطی کے تصحیح کی سطح اور ان پٹ موڈ سے شروع ہوتا ہے، جیسا کہ ^FDQA,text میں ہے۔ بارکوڈز Rendered example
^BX ڈیٹا میٹرکس 2D بارکوڈ۔ بارکوڈز Rendered example
^B7 PDF417 اسٹیکڈ 2D بارکوڈ۔ بارکوڈز Rendered example
^BO Aztec 2D بارکوڈ。 بارکوڈز Rendered example
^BD MaxiCode، جو UPS کی طرف سے استعمال ہوتا ہے. بارکوڈز Rendered example
^B0 ازٹیک 2D بارکوڈ؛ یہ ^BO کے طور پر وہی حکم ہے۔ بارکوڈز Rendered example
^BA کوڈ 93 بارکوڈ: کوڈ 39 سے زیادہ گہرا، دو بلٹ ان چیک حروف کے ساتھ۔ بارکوڈز Rendered example
^BK Codabar بارکوڈ، جو لائبریریوں، بلڈ بنکوں اور کچھ کوریئرز کے ذریعہ استعمال ہوتا ہے۔ بارکوڈز Rendered example
^BL LOGMARS بار کوڈ، امریکی فوج کا کوڈ 39 جس میں چیک ڈیجیٹ ضروری ہے۔ بارکوڈز Rendered example
^B1 کوڈ 11 بارکوڈ، عددی، ٹیلی کام کے سامان پر استعمال ہوتا ہے۔ بارکوڈز Rendered example
^BM ایم ایس آئی (ترمیم شدہ پلیسی) بارکوڈ، عددی، شیلف لیبلز پر استعمال ہوتا ہے۔ بارکوڈز Rendered example
^BP پلیسی بارکوڈ، عددی، ایک CRC چیک عدد کے ساتھ۔ بارکوڈز Rendered example
^BS UPC یا EAN کوڈ کے ساتھ چھاپا گیا 2 یا 5 ہندسوں کا اضافی حصہ۔ بارکوڈز Rendered example
^BZ امریکی ڈاک کے بارکوڈز: POSTNET، PLANET اور Intelligent Mail. بارکوڈز Rendered example
^B5 USPS PLANET بارکوڈ. بارکوڈز Rendered example
^BR GS1 ڈیٹا بار (پہلے RSS): پیداوار اور کوپن کے لیے کمپیکٹ GTIN بار کوڈز۔ بارکوڈز PartialGS1 DataBar types 1 to 6 are drawn. Type 6 (Expanded) encodes the data as written and scans the same as Labelary's, but its last characters can differ; types 7 to 12 (UPC/EAN composites) print the data as text. Rendered example
^BF مائیکرو پی ڈی ایف 417، چھوٹے لیبلز کے لیے ایک چھوٹا پی ڈی ایف 417۔ بارکوڈز Rendered example
^GB ایک باکس یا لائن بناتا ہے: چوڑائی، اونچائی، بارڈر کی موٹائی، رنگ اور گولائی۔ گرافکس Rendered example
^GC ایک دائرہ بناتا ہے: قطر، بارڈر کی موٹائی اور رنگ۔ گرافکس Rendered example
^GE ایک بیضوی شکل بناتا ہے۔ گرافکس Rendered example
^GD ایک کٹی ہوئی لائن بناتا ہے۔ گرافکس Rendered example
^GF لیبل میں ایک bitmap تصویر شامل کرتا ہے (ASCII hex، بائنری یا Z64)۔ گرافکس Rendered example
^GS ایک رجسٹرڈ، کاپی رائٹ یا دیگر علامت پرنٹ کرتا ہے۔ گرافکس Rendered example
^DF پرنٹر پر ایک نام کے نیچے لیبل کا فارمیٹ محفوظ کرتا ہے۔ محفوظ کردہ فارمیٹس اور تصاویر Rendered example
^XF ایک محفوظ شدہ فارمیٹ کو یاد کرتا ہے تاکہ اس کے ^FN فیلڈز کو بھرا جا سکے۔ محفوظ کردہ فارمیٹس اور تصاویر Rendered example
~DG پرنٹر پر ایک نام کے نیچے تصویر محفوظ کرتا ہے۔ محفوظ کردہ فارمیٹس اور تصاویر Stores or recalls data; no image of its own
^XG ایک ایسی تصویر پرنٹ کرتا ہے جو ~DG کے ساتھ محفوظ کی گئی ہے۔ محفوظ کردہ فارمیٹس اور تصاویر Stores or recalls data; no image of its own
^IM موجودہ فیلڈ کے نقطہ آغاز پر محفوظ شدہ تصویر پرنٹ کرتا ہے۔ محفوظ کردہ فارمیٹس اور تصاویر Stores or recalls data; no image of its own

Ignored on purpose

These commands set up the printer, not the label. The API accepts them and renders the label as if they weren't there; we checked that the image is byte-identical without them.

GroupCommands
Media and sensors^MM, ^MN, ^MT, ^MF, ~JS
Speed, darkness and tear-off^PR, ~SD, ^MD, ~TA
Calibration and printer state~JC, ~JA, ~JR, ^JU, ~HS
Network, RFID setup and host queries^NC, ^NI, ^RS, ~HI, ~HM

Not supported yet

Each one was tested by placing it in a label at 8 dpmm. None of them fails the request: the label renders, without the symbol.

CommandSymbology or featureWhat the engine does today
^B4Code 49No bars; the data is printed as text (Labelary doesn't draw it either).
^BBCODABLOCKNo symbol; the data is printed as text (Labelary doesn't draw it either).
^BTTLC39No symbol; the data is printed as text (Labelary doesn't draw it either).

Known differences

  • A format with no fields, such as ^XA^XZ, returns 400 ERROR: No labels found in the ZPL instead of a blank image.
  • Fonts: Zebra's font 0 (CG Triumvirate Bold Condensed) can't be bundled, so ^A0 is drawn with Roboto Condensed Bold, with spacing calibrated per character. The bitmap fonts ^AA–^AH are drawn with DejaVu Sans Mono. Text widths can differ by a few dots from a given printer.
  • An RFID write (^RF followed by ^FD…^FS) draws its data as text; a printer encodes it in the tag and prints nothing.
  • EPL reverse text (the R flag of A) gets a black box the size of the character cells, as on the printer; it can run past the last character because the substitute font is narrower than EPL's bitmap fonts.

لیبلری سے منتقل ہو رہا ہے

The API keeps Labelary's v1 paths and headers, so most clients only change the host. See Migrate from Labelary for the tested differences and OpenZPL vs Labelary for the comparison.

تجزیہ