# Labelixa > Labelixa is a thermal label rendering and validation service: render, validate, debug and convert ZPL, EPL, TSPL and CPCL label code in the browser, through a REST API or from AI assistants over MCP, and generate barcodes — no printer required. Also: label templates, printer compatibility data and guides. Free tier available. ## Tools - [ZPL Viewer & Preview](https://labelixa.com/tools/zpl-preview): paste ZPL, see the rendered label instantly with inline diagnostics (linting). - [Barcode Generator](https://labelixa.com/tools/barcode-generator): generate Code 128, QR, DataMatrix, EAN, UPC and other symbologies as ZPL or PNG. - [Image to ZPL](https://labelixa.com/tools/image-to-zpl): convert PNG/JPG artwork into printable ZPL graphics. - [PDF to ZPL](https://labelixa.com/tools/pdf-to-zpl): convert a shipping label PDF into ZPL, one label per page, at 203 or 300 dpi. - [Barcode Verifier](https://labelixa.com/tools/barcode-verify): upload a photo/scan of a printed label and read back its barcodes. - [Label Designer](https://labelixa.com/tools/designer): drag-and-drop label designer in the browser — text, barcode, QR code, image, line, rectangle and variable (data) fields on a canvas, undo/redo, snap-to-grid — and printer-ready ZPL out; sizes and positions are in printer dots, not screen pixels. - [Bulk Label Generation](https://labelixa.com/tools/bulk): generate many labels from one ZPL template plus a CSV or Excel (.xlsx) file (or JSON via the API) — map columns, preview rows and download the batch as a ZIP or as one merged PDF. - [DirectPrint Agent Download](https://labelixa.com/download): the small helper you run on your own network so cloud print jobs reach your Zebra printers; it opens no inbound port in your firewall. - Why a local agent: browsers cannot open a raw TCP connection to a network printer and WebUSB blocks the USB printer class, so direct printing from a web page needs a small local helper — the same model as Zebra Browser Print. DirectPrint is included from the Starter plan; the Free plan gets a one-time trial (1 computer, 1 printer, 25 labels). - [Printer Language Detector](https://labelixa.com/tools/printer-language-detector): paste unknown printer code and find out whether it is ZPL, EPL, TSPL or CPCL; heuristic/deterministic, no LLM involved. - [Printer Language Converter](https://labelixa.com/tools/printer-language-converter): convert SATO SBPL, Honeywell DPL and IPL label code to ZPL; every command that does not carry over is reported as a warning. Equivalent per the manufacturer manuals, not verified on a physical printer; the same conversion is in the REST API (https://labelixa.com/docs/api#printer-language-conversion). - [EPL Viewer](https://labelixa.com/tools/epl-viewer): render EPL/EPL2 label code in the browser. - [EPL Validator](https://labelixa.com/tools/epl-validator): check EPL jobs for unknown commands and unsupported field types. - [EPL Command Reference](https://labelixa.com/tools/epl-command-reference): every EPL command our engine understands, with coverage level. - [TSPL Viewer](https://labelixa.com/tools/tspl-viewer): render TSPL/TSPL2 label code in the browser. - [TSPL Validator](https://labelixa.com/tools/tspl-validator): check TSPL jobs before sending them to a printer. - [TSPL Command Reference](https://labelixa.com/tools/tspl-command-reference): every TSPL command our engine understands, with coverage level. - [CPCL Viewer](https://labelixa.com/tools/cpcl-viewer): render CPCL (mobile printer) label code in the browser. - [CPCL Validator](https://labelixa.com/tools/cpcl-validator): check CPCL jobs for malformed sessions and field errors. - [CPCL Command Reference](https://labelixa.com/tools/cpcl-command-reference): every CPCL command our engine understands, with coverage level. - [ZPL Printer Compatibility Checker](https://labelixa.com/tools/zpl-printer-compatibility-checker): paste ZPL and pick a printer model to get a compatibility RISK ANALYSIS — it is not an emulator and never returns a guarantee. - [ZPL Size & DPI Analyzer](https://labelixa.com/tools/zpl-size-analyzer): paste ZPL and read back the declared label size plus a dot-density (DPI) estimate — given only when exactly one standard size matches; otherwise it says why not. - [ZPL DPI Converter](https://labelixa.com/tools/zpl-dpi-converter): rescale ZPL coordinates between printer resolutions (203/300/600 dpi); embedded ^GF bitmaps are not rescaled and the output says so. - [ZPL 203 to 300 DPI](https://labelixa.com/tools/zpl-203-to-300-dpi): guided conversion for the common upgrade path — labels printing too small after moving to a 300 dpi head. - [ZPL 300 to 203 DPI](https://labelixa.com/tools/zpl-300-to-203-dpi): the reverse direction — content overflowing after moving to a 203 dpi printer. - [ZPL Diagnostics Hub](https://labelixa.com/tools/zpl-diagnostics): sectioned label health report (syntax, size/DPI, orientation, barcodes, fonts, memory) with an honest score — sections it cannot assess are named as not assessed, never counted. - [ZPL Debugger](https://labelixa.com/tools/zpl-debugger): the same engine, line by line — every error and warning pinned to the source line that caused it, with suggested fixes where they exist. - [Shipping Label Analyzer](https://labelixa.com/tools/shipping-label-analyzer): paste shipping-label ZPL and check 4x6 fit, clipped fields, edge margins and barcode presence before printing — check by check with reasons, no score and no carrier compliance claim. - [ZPL Font Inspector](https://labelixa.com/tools/zpl-font-inspector): list every text field's font (Zebra built-in or downloaded), size in dots and mm, missing ^A@ fonts and unused downloads — with a plain note on what the preview substitutes for Zebra's proprietary fonts. - [ZPL Orientation Debugger](https://labelixa.com/tools/zpl-orientation-debugger): see every field's rotation and bounding box on the preview, how ^FW and ^PO change the printed layout, and try each ^FW default with one click — ^POI is shown as a 180° turn of the whole label, stated as such. - [Zebra Calibration Assistant](https://labelixa.com/tools/zebra-calibration-assistant): pick media tracking, ribbon and goal and get the documented ZPL calibration sequence (^MT, ^MN, ^ML, ~JC, ~JG, ~JL, ^JUS), each step cited to a page of Zebra's ZPL Programming Guide — no button or model claims. - [Thermal Printer Test Pack](https://labelixa.com/tools/thermal-printer-test-pack): six downloadable ZPL diagnostic labels (alignment, ruler, barcode module ladder, rotation, darkness, font sizes) in 203 and 300 dpi, also as PNG and PDF for printing apps without ZPL support — measurement aids, not ISO/IEC 15416 certification. ## API - [REST API reference](https://labelixa.com/docs/api): render labels to PNG/PDF, run ZPL diagnostics, bind CSV/JSON data to templates. Labelary-compatible render endpoint (`POST /v1/printers/{dpmm}/labels/{size}/{index}`). - [Developer docs](https://labelixa.com/docs): quickstarts for curl, Python, C# and Java. - [ZPL preview API](https://labelixa.com/zpl-preview-api): one POST turns ZPL into a PNG or PDF label image — the request, the response headers (including X-Warnings) and the per-plan quotas on one page. - [AI ZPL rendering](https://labelixa.com/ai-zpl-rendering): a language model can write ZPL but cannot draw it; this is the generate-render-read-warnings loop that makes AI-written labels checkable. - [Thermal label API](https://labelixa.com/thermal-label-api): ZPL, EPL, TSPL and CPCL over one REST API — render and check endpoints per language, honest coverage (ZPL primary, the others their core command sets), language detection and the matching MCP tools. - [On-premise deployment](https://labelixa.com/docs/on-premise): run the same render engine inside your own network (see Enterprise / self-hosted below). - [Outgoing webhooks](https://labelixa.com/docs/api#webhooks): signed events (HMAC `Labelixa-Signature` header with timestamp) for `toplu.tamamlandi` / `toplu.basarisiz` (bulk jobs) and `baski.teslim` / `baski.basarisiz` / `baski.belirsiz` (print jobs); Pro plan and above. - n8n community node: `n8n-nodes-labelixa` (https://www.npmjs.com/package/n8n-nodes-labelixa) — render, validate, barcode/QR, convert and batch steps in n8n workflows. - Official Python SDK: `pip install labelixa` (https://pypi.org/project/labelixa/) — thin client for the same REST API; quota errors carry Retry-After. - Official Node.js SDK: `npm install labelixa` (https://www.npmjs.com/package/labelixa) — zero-dependency, TypeScript types included. - Official Go SDK: `go get github.com/Labelixa/labelixa-sdk/go` (https://pkg.go.dev/github.com/Labelixa/labelixa-sdk/go) — standard library only, context cancellation, typed quota errors. - [Labelary-compatible render endpoint](https://labelixa.com/docs/labelary-compatible): the render path `/v1/printers/{dpmm}/labels/{w}x{h}/{i}/` has the same shape Labelary documents, so an existing client only changes its base URL; the page lists the measured behaviour (trailing slash optional, 6/8/12/24 dpmm, Accept: application/pdf, GET returns 405). - [CLI for CI pipelines](https://labelixa.com/docs/cli): `npx labelixa validate "labels/**/*.zpl"` lints and renders label files with stable exit codes and --json output; GitHub Actions, GitLab CI, Azure Pipelines and Bitbucket examples. - Official MCP server for AI assistants: `npm install -g labelixa-mcp` (https://www.npmjs.com/package/labelixa-mcp) — local stdio server: renders and lints ZPL, lints EPL, TSPL and CPCL, converts between printer resolutions and generates barcodes for Claude Desktop, Claude Code and other MCP clients. - Official VS Code extension: `code --install-extension labelixa.labelixa-zpl` (https://marketplace.visualstudio.com/items?itemName=Labelixa.labelixa-zpl) — preview the ZPL block under the cursor, lint as you type with quick-fixes and hover help for ZPL commands, findings in the Problems panel. Also on Open VSX (https://open-vsx.org/extension/labelixa/labelixa-zpl) for Cursor, VSCodium, Gitpod and Theia. Setup and settings: https://labelixa.com/docs/examples#vscode - JetBrains IDE plugin: Labelixa ZPL on JetBrains Marketplace (https://plugins.jetbrains.com/plugin/34524-labelixa-zpl) — preview the ZPL block under the cursor and validate the file with findings at their real line and column, in IntelliJ IDEA, PyCharm, WebStorm, Rider, GoLand and other JetBrains IDEs (2024.1+). Setup: https://labelixa.com/docs/examples#jetbrains - Microsoft Marketplace: Labelixa as a SaaS offer, billed through your Microsoft account (https://marketplace.microsoft.com/en-us/product/newempo.labelixa). ## Enterprise / self-hosted - [Self-hosted deployment](https://labelixa.com/docs/on-premise): Labelixa runs inside your own network as a Docker container (web, worker and PostgreSQL via docker-compose), configured with environment variables; the render service is stateless — incoming ZPL is not written to disk or logged. - Licensing: on-premise runs under an Enterprise license; the container image is delivered with the license (it is not a public image). Multiple servers, high availability and a contractual SLA are priced separately. ## MCP (AI assistants) - [MCP server page](https://labelixa.com/mcp): endpoint, authentication, quotas and client configuration. - Remote MCP server (streamable HTTP, JSON-RPC) at `https://api.labelixa.com/mcp` — tools: `zpl_preview`, `zpl_validate`, `zpl_command_help`, `barcode_png`, `language_detect`, `epl_validate`, `tspl_validate`, `cpcl_validate`, `explain_zpl`, `convert_zpl_dpi`, `template_list`, `template_get`, `save_label`, `epl_preview`, `tspl_preview`, `cpcl_preview`, `image_to_zpl`, `barcode_verify`, `zpl_compatibility`, `bulk_submit`, `bulk_status`, `bulk_list`, `printer_language_to_zpl`. Anonymous use is free and rate-limited; authenticate with `Authorization: Bearer lbx_...` (a Labelixa API key) to use your account quota. ## ZPL Command Reference - [Command index](https://labelixa.com/zpl-commands): 83 ZPL commands with parameters, defaults and rendered examples. Each command has its own page, e.g. [https://labelixa.com/zpl-commands/fo](https://labelixa.com/zpl-commands/fo) for ^FO. - [ZPL lint rules](https://labelixa.com/zpl/rules): every linter finding code (29 rules, ZPL0001–ZPL7003) with a label that triggers it and the corrected label, e.g. [https://labelixa.com/zpl/rules/ZPL2001](https://labelixa.com/zpl/rules/ZPL2001). - [ZPL cheat sheet](https://labelixa.com/tools/zpl-cheat-sheet): one printable page — syntax, working example and preview coverage per command. - [Barcode fit calculator](https://labelixa.com/tools/barcode-fit-calculator): how many characters fit at a given label width, dpi and module width; module geometry measured from the barcode engine. ## Printers and printer languages - [Printer database](https://labelixa.com/printers): 69 thermal printer models with documented print languages. Every language claim carries its vendor source URL, evidence level and verification date. Exactly ONE model has been physically tested (Zebra GK420d, ZPL, one device and one firmware); every other claim is documentation, and each page says which it is. - Printer language hubs: [ZPL](https://labelixa.com/zpl), [EPL](https://labelixa.com/epl), [TSPL](https://labelixa.com/tspl), [CPCL](https://labelixa.com/cpcl) — tools, command reference and which printers run each language natively versus by documented emulation. - [Printer language compatibility](https://labelixa.com/compatibility): which manufacturers document an emulation mode for a language they do not run natively, e.g. [ZPL on TSC printers](https://labelixa.com/compatibility/zpl-on-tsc-printers). Emulation is NOT native support: the printer vendor decides how much of the language its mode covers, and coverage can differ per firmware version. ## Guides - https://labelixa.com/guides/what-is-zpl - https://labelixa.com/guides/choosing-a-barcode-symbology - https://labelixa.com/guides/how-to-preview-a-zpl-file - https://labelixa.com/guides/how-to-open-a-zpl-file - https://labelixa.com/guides/why-zpl-label-prints-incorrectly - https://labelixa.com/guides/custom-fonts-in-zpl - https://labelixa.com/guides/how-to-send-zpl-to-a-network-printer - https://labelixa.com/guides/embed-a-zpl-viewer - https://labelixa.com/guides/print-zpl-labels-from-excel - https://labelixa.com/guides/zebra-label-prints-too-small - https://labelixa.com/guides/zpl-label-cut-off - https://labelixa.com/guides/zpl-barcode-not-scanning - https://labelixa.com/guides/zpl-label-prints-upside-down - https://labelixa.com/guides/zpl-special-characters-not-printing - https://labelixa.com/guides/zebra-printer-prints-extra-blank-label - https://labelixa.com/guides/zpl-label-content-shifted - https://labelixa.com/guides/zpl-prints-blank-label - https://labelixa.com/guides/gs1-128-vs-code-128 - https://labelixa.com/guides/barcode-check-digit-silently-rewritten - https://labelixa.com/guides/zpl-dots-mm-inches-and-dpi-migration - https://labelixa.com/guides/print-zpl-from-a-browser - https://labelixa.com/guides/cpcl-preview-and-debugging - https://labelixa.com/guides/tspl-vs-epl - https://labelixa.com/guides/zpl-vs-cpcl - https://labelixa.com/guides/epl-preview-and-debugging - https://labelixa.com/guides/epl-label-content-shifted - https://labelixa.com/guides/erp-zpl-printing-odoo-netsuite - https://labelixa.com/guides/carrier-zpl-labels-fedex-ups - https://labelixa.com/guides/fedex-zpl-label-preview-and-fix - https://labelixa.com/guides/ups-zpl-label-preview-and-fix - https://labelixa.com/guides/pdf-vs-zpl-printing - https://labelixa.com/guides/tspl-preview-and-debugging - https://labelixa.com/guides/zpl-vs-tspl - https://labelixa.com/guides/zpl-troubleshooting - https://labelixa.com/guides/label-printed-on-wrong-printer - https://labelixa.com/guides/printer-identity-queue-names-and-ips - https://labelixa.com/guides/zebra-printer-prints-only-last-graphic - https://labelixa.com/guides/why-does-zpl-set-media-type - https://labelixa.com/guides/zebra-printer-prints-gibberish - https://labelixa.com/guides/print-zpl-on-macos-and-linux - https://labelixa.com/guides/print-zpl-without-a-driver - https://labelixa.com/guides/print-zpl-from-iphone-ipad-android - https://labelixa.com/guides/can-chatgpt-render-zpl - https://labelixa.com/guides/zebra-printer-status-request-slow-or-silent - https://labelixa.com/guides/zebra-printer-ping-works-port-9100-does-not - https://labelixa.com/guides/zebra-label-prints-dots-in-white-areas - https://labelixa.com/guides/thermal-transfer-print-faded-or-rubs-off - https://labelixa.com/guides/zpl-same-timestamp-on-every-label - https://labelixa.com/guides/zpl-text-runs-off-the-label - https://labelixa.com/guides/tspl-bitmap-prints-black-box - https://labelixa.com/guides/center-text-in-zpl - https://labelixa.com/guides/cpcl-arabic-text-printing - https://labelixa.com/guides/print-zpl-to-a-usb-zebra-printer-from-the-cloud ## Solutions - [Industry pages](https://labelixa.com/solutions): logistics, warehouse, retail, pharma serialization, food labeling, Business Central integration (read-only shipment labels: https://labelixa.com/solutions/business-central). ## Optional - [Barcode type encyclopedia](https://labelixa.com/barcode-types) - [Label templates gallery](https://labelixa.com/templates) - [Labelary alternative — honest comparison](https://labelixa.com/compare/labelary-alternative): what is the same (render URL scheme, X-Warnings), what differs, and when staying with Labelary is the right choice. - [ZebraDesigner alternative — honest comparison](https://labelixa.com/compare/zebradesigner-alternative): ZebraDesigner is an installed label design program, Labelixa a browser viewer and REST API for ZPL you already have; what each does, and when the desktop designer is the right choice. - [Online ZPL tools compared](https://labelixa.com/compare/online-zpl-tools-compared): six tools (Labelary, ZPL.AI, ZPLPreview, EditorZPL, LabelZoom, Labelixa) mapped to jobs, alphabetical, bias declared, claims dated and sourced. - [Pricing](https://labelixa.com/pricing) - [Security](https://labelixa.com/security) - [Company information](https://labelixa.com/company): Newempo LLC, registered address, contact and the legal documents that govern the service. - [About Labelixa](https://labelixa.com/about): what Labelixa does, which surfaces are available and where the official packages and listings are. - [Changelog](https://labelixa.com/changelog): what shipped, newest first — features, integrations and fixes. Markdown: https://labelixa.com/changelog.md, RSS: https://labelixa.com/changelog.rss. - [Uptime SLA](https://labelixa.com/sla): Business plan 99.5% monthly uptime with service credits only (10% / 25% of that month's fee); Enterprise by contract; no SLA on Free, Starter or Professional.