Tools/Check/Printer Language Detector

PRN File Viewer

Open or paste a .prn file. A .prn file is the raw data a printer driver writes when you choose “Print to file”: for thermal label printers that is usually ZPL or EPL, sometimes TSPL or CPCL. This page detects the language first, then renders the label with the matching Labelixa preview.

Paste your code

Settings

Used only when the file is ZPL. EPL, TSPL and CPCL previews read the label size from the code.

Paste code or load the sample — the result appears below, with the line and severity of each finding.

Result

Detected language:

Rendered label preview

Open in the full viewer

Input up to 1 MB. ZPL is drawn at the density and size you choose; EPL, TSPL and CPCL previews assume 203 dpi. Previews interpret the manufacturers' manuals and are not verified on a physical printer. The content is processed in memory and is not stored.

How to open a .prn file

  1. Open the .prn file with the file button, or paste its contents into the box. Files up to 1 MB are read in your browser.
  2. Press Detect and preview. The language detector checks structural signatures: ZPL's ^XA…^XZ blocks, EPL's line commands, TSPL's SIZE/GAP keywords and CPCL's session header.
  3. If the file is ZPL, EPL, TSPL or CPCL, the label is rendered with the matching Labelixa preview. For ZPL, set the print density and label size first.
  4. Open the code in the full viewer for that language to inspect commands, read warnings or step through a file with several labels.

Where .prn files come from

Windows printer drivers write a .prn file when “Print to file” is ticked, and many warehouse, ERP and shipping applications save the job they would send to a label printer the same way. From a Zebra driver the content is normally ZPL or EPL, from a TSC driver TSPL, and mobile printers often use CPCL. The extension says nothing about the language inside, which is why this page detects it before rendering instead of assuming ZPL.

Frequently asked questions

  • Is every .prn file a label? — No. A .prn file is whatever the driver produced. From a label printer driver it is usually ZPL or EPL; from an office printer driver it is PCL or PostScript, which this page does not render and reports as unknown.
  • Why does my .prn file show no preview? — Either the detector matched none of ZPL, EPL, TSPL and CPCL, or the preview for the detected language is not available here. The page says which case it is instead of drawing a guess.
  • Is my file stored? — No. The content is sent to the Labelixa API for detection and rendering, processed in memory and not stored.

Save your labels to your account and print them with DirectPrint — free account. Create free account

Do the same job from code

Same engine, same result: REST API, command line, or an AI assistant over MCP. Anonymous calls work; an API key raises the quota.

RESTcurl -X POST "https://api.labelixa.com/v1/language-detect" --data-binary @label.prn
MCPclaude mcp add --transport http labelixa https://api.labelixa.com/mcp # language_detect

API reference · MCP setup · Thermal label API: ZPL, EPL, TSPL, CPCL