Convert TSPL to ZPL

Paste or import your TSPL/TSPL2 code from TSC printers and get the equivalent ZPL instantly. Real-time preview, download the ZPL and open it in the visual editor.

TSPL Code

Loading...

TSPL to ZPL Converter: migrate your TSC labels to Zebra language

What is TSPL and TSPL2?

TSPL (TSC Programming Language) is the label programming language developed by TSC Auto ID Technology, one of the world's most important industrial label printer manufacturers. TSPL uses readable text commands like TEXT, BARCODE, BOX or SIZE, making it easier to read and interpret manually than other label languages. TSPL2 is the extended version of the language, adding support for vector graphics (LINE, CIRCLE, ELLIPSE), basic programming functions (FOR/NEXT, IF/GOTO), font downloading and greater compatibility with international standards.

TSC printers are widely used in logistics, manufacturing, retail and healthcare. Models such as the TTP-244, TTP-342, TC200, TC210, TC300, DA200 or MX240 series are common in industrial environments worldwide. If you need to migrate these printers to Zebra equipment, or simply want to take advantage of the ZPL ecosystem (Zebra Designer, ZebraLink, ZT and GX printers), this converter lets you do so without manually rewriting each label.

Which TSPL commands are converted to ZPL

The converter supports the most common commands in production TSPL labels. The SIZE command converts label dimensions (in mm, inches or dots) to the ZPL commands ^PW (width) and ^LL (length). TEXT is translated to ^FO + ^A + ^FD respecting the font, rotation and xmul/ymul scale multipliers. BARCODE generates the ^BY block + the corresponding barcode command (^BC for Code 128, ^B3 for Code 39, ^BE for EAN-13, ^B2 for Interleaved 2 of 5, etc.) along with height, readability and rotation. BOX and BAR are converted to ZPL's ^GB command. LINE (TSPL2) is also converted to ^GB for horizontal and vertical lines.

QRCODE is translated to the ZPL ^BQ command. Printer configuration commands — GAP, SPEED, DENSITY, DIRECTION, SET, FEED, PRINT, CLS, etc. — are omitted because they have no direct equivalent in ZPL label content: in ZPL these options are configured from the printer's own menu or via SGD commands. Non-convertible elements (BITMAP, CIRCLE, ELLIPSE, diagonal lines) generate an informational warning but do not stop the conversion.

Differences between TSPL and ZPL

Although both languages describe thermal labels, they have very different philosophies. TSPL is more readable: each line is a complete command with a clear name (TEXT, BARCODE, BOX), parameters are separated by commas and text strings are in double quotes. ZPL, by contrast, uses sequences prefixed with ^ or ~, where each data block is flanked by start (^FO, ^BY) and end (^FS) commands. The ZPL result tends to be more compact but less intuitive at first glance.

Another important difference is the coordinate system: TSPL uses the origin at the upper-left corner and field positions in printer dots, exactly like ZPL. This greatly simplifies conversion: the x,y positions of TEXT and BARCODE can be transferred directly without inversion or unit transformation, as long as the coordinates are already in dots. The SIZE command dimensions, however, usually come in mm or inches and must be converted to dots according to the target printer's DPI (203, 300 or 600 DPI).

How to use the TSPL to ZPL converter

Paste your TSPL code directly into the left editor or use the 'Import TSPL' button to load a .tspl, .lbl or .prn file from your computer. The equivalent ZPL is generated automatically in real time and appears in the lower-right panel. The preview shows how the printed label will look.

If the converter detects a SIZE with dimensions in mm, it automatically calculates the width and height in dots according to the selected DPI (default 203 DPI). You can change the DPI resolution in the settings panel to match your target Zebra printer. Once satisfied with the result, download the ZPL file with the 'Download ZPL' button or open it directly in EditorZPL's visual editor to adjust details before sending to the printer.

Why migrate from TSC to Zebra

Zebra printers offer a very mature software ecosystem: Zebra Designer Pro, ZebraLink, Print DNA and an extensive network of integrations with SAP, Oracle and other ERPs. The ZPL language is supported by hundreds of printer models from different compatible manufacturers (Honeywell, SATO, Cab, etc.), reducing dependence on a single vendor. Migrating TSPL templates to ZPL once allows you to take advantage of all these benefits without redesigning labels from scratch.

Frequently asked questions about TSPL and ZPL

Which TSC printers use TSPL or TSPL2?

Most TSC printers support TSPL or TSPL2. The most common series are: TTP-244 (budget desktop), TTP-342 (300 DPI), TC200/TC210/TC300 (compact desktop), DA200/DA210 (4-inch), MX240/MX340/MX640 (industrial), TX200/TX300/TX600 (high resolution) and ME240/ME340 (compact). Argox, another Taiwanese brand, also uses TSPL in many of its models. Consult your printer manual to confirm which version it supports.

What is the difference between TSPL and TSPL2?

TSPL is the base language, compatible with most TSC printers. TSPL2 adds vector commands (LINE, CIRCLE, ELLIPSE), flow control structures (FOR/NEXT, IF/GOTO, CALL/RETURN), font and bitmap download capability, and better support for international code pages. In practice, most production labels only use TEXT, BARCODE and BOX, so both versions are functionally equivalent for the most common use cases.

Are TSPL coordinates in mm or dots?

In TSPL, the SIZE command defines label dimensions in mm or inches (e.g. SIZE 100 mm,60 mm). However, the coordinates of TEXT, BARCODE, BOX, BAR and LINE fields are always specified in printer dots. At 203 DPI, 1 mm equals approximately 8 dots; at 300 DPI, about 11.8 dots. The converter automatically handles the SIZE-to-dots conversion and keeps field coordinates without transformation.

Which barcode types does the converter support?

The converter supports the most common barcode types in TSPL: Code 128 (128), Code 39 (39), EAN-13 (EAN13), EAN-8 (EAN8), UPC-A (UPCA), UPC-E (UPCE), Interleaved 2 of 5 (I25), Codabar (CODA), Code 93 (93), MSI/Plessey (MSI), PDF417 and Data Matrix (DATAMATRIX). QR codes are converted using QRCODE or via the QR type within the BARCODE command. If the type is not in the list, Code 128 is used as fallback and a warning is shown.

Why don't CIRCLE, ELLIPSE and diagonal lines convert?

ZPL II has no native commands for circles, ellipses or diagonal lines. It only supports rectangles (^GB), horizontal and vertical lines. So when the converter encounters a CIRCLE or ELLIPSE from TSPL2, it omits it and generates a warning. Diagonal lines (LINE x1,y1,x2,y2 where x1≠x2 and y1≠y2) also have no direct equivalent. If your label uses these elements, you will need to replace them manually with rectangles or images in the ZPL editor.

Does the converter work completely in the browser?

Yes. All conversion is done in your own browser using JavaScript, without sending any data to external servers. The TSPL code you paste or import never leaves your device. This ensures the privacy of your labeling data — especially important in industrial environments with sensitive product information — and allows you to use the converter even without an internet connection once the page is loaded.