ZPLとは?Zebraプログラミング言語の解説

2026年8月17日 更新

コンピューターからサーマルプリンターへ送られ、完成したバーコードラベルになるZPLコマンド

ZPL(Zebraプログラミング言語) は、Zebraおよび互換性のあるサーマルプリンターがラベルを記述するために使うコマンド言語です。ZPLプリンターは完成画像ではなく短いプレーンテキストコマンドを受け取り、それを解釈して設定されたプリントヘッド解像度でラベルをレンダリングします。

ZPLは、ERPシステム、スクリプト、ブラウザーツールなどのアプリケーションで生成できる簡潔なテキストコマンドを使用します。対応状況はモデルと構成によって異なります。Zebraは個々のモデル仕様でZPL IIへの対応を記載しており、他社製プリンターの一部には文書化されたZPL互換エミュレーションモードがあります。

ZPLラベルの見た目

ZPLドキュメントはコマンドのシーケンスで、それぞれキャレット(^)で始まります。すべてのラベルは ^XA(フォーマット開始)と ^XZ(フォーマット終了)の間に記述されます。以下は完全な動作するラベルの例です:

^XA
^CF0,40
^FO50,50^FDHELLO WORLD^FS
^FO50,110^GB700,4,4^FS
^BY3,2,100
^FO150,150^BCN,100,Y,N,N^FD12345678^FS
^XZ

1行ずつ読んでいくと:

  • ^XA^XZ — ラベルフォーマットを開始・終了します。その間のすべてが1枚のラベルを記述します。
  • ^CF0,40 — デフォルトフォントをスケーラブルフォント 0、高さ40ドットに設定します。
  • ^FO50,50フィールド原点:次のフィールドを左から50ドット、上から50ドットの位置に配置します。
  • ^FDHELLO WORLD^FSフィールドデータ フィールドセパレーター:フィールドの実際のコンテンツ。
  • ^GB700,4,4グラフィックボックス を幅700ドット・高さ4ドットで描画 — ここでは水平線として使用。
  • ^BY3,2,100 その後 ^BCN,100,Y,N,N — バーコードのデフォルト(モジュール幅・比率・高さ)を設定し、Code 128 バーコードをデータ 12345678 で描画し、下に人間が読める行を追加。

ピクセルでなくドット:DPIを理解する

ZPLのすべての座標とサイズは プリンタードットで測定されます。ドットの物理的なサイズはプリントヘッドの解像度によって異なります。一般的な解像度は203 dpi(8ドット/mm)、300 dpi(12ドット/mm)、600 dpi(24ドット/mm)です。203 dpiのプリンターでは4×6インチの配送ラベルは812×1218ドット、300 dpiでは同じラベルが1200×1800ドットになります。ある解像度向けのZPLは別の解像度では小さくまたは大きく印刷されるため、DPIの不一致は「新しいプリンターでラベルの見た目がおかしい」原因としてよくあります。サイズは対象DPIに合わせる必要があります。

ZPL vs. EPL vs. ドライバー印刷

同様の言語として EPL(Eltron Programming Language)は、一部の旧型プリンターまたは明示的に対応するプリンターで使用されます。ZPLとEPLの対応状況はモデルやファームウェアによって異なるため、言語を選ぶ前にメーカーの資料を確認してください。プリンター言語を直接出力する方法とは別の選択肢はドライバーベース印刷です。この方法では、WindowsまたはCUPSのドライバーがレンダリング済みページを設定済みプリンター向けに処理します。生のZPLは座標を直接制御でき、テキストデータも小さくできますが、デバイスやOSに互換性のある生ZPL出力経路がない場合は、ドライバーベース印刷の方が適することがあります。

ZPLを書く・生成する方法

一度限りのラベルであれば、 コマンドリファレンス を手元に置きながら手書きでZPLを書くことも十分可能です。言語は小さく、いくつかのコマンド(^FO, ^FD, ^A, ^BC, ^GB)で実際のラベルの大半をカバーできます。困難が始まるのは、レイアウトを何度も修正する必要がある場合です — 少し位置を変えるたびにドット座標を編集し、ファイルを再送し、ラベル用紙を無駄にすることになります。

この問題を解決するのがビジュアルエディターです。ZPLCraftでは、実寸キャンバスにテキスト、バーコード、ライン、ボックスを配置し、選択したプリンターDPIに合わせてZPLを生成できます。バーコードのデータ、寸法、クワイエットゾーンは選択したシンボロジーの要件を満たす必要があり、印刷結果は対象のプリンターとスキャナーで確認してください。すでにZPLを送信するシステムへコードをエクスポートすることも、 ブラウザーからWebUSB印刷を使用 できます。ただし、ブラウザー、OS、プリンターが互換性があり取得可能なインターフェースを提供している場合に限ります。

よくある基本的な質問

ZPLは無料で使えますか?

ZebraはZPL IIプログラミングガイドを一般向けの資料として公開しており、ZPLコマンドはテキストエディターで記述できます。プリンター用ソフトウェア、フォント、ファームウェア、商標には、それぞれのライセンス条件が適用される場合があります。

ZPLファイルの拡張子は何ですか?

必須の拡張子はありません — ZPLはプレーンテキストです。実際には .zpl, .txt.prn が使われることがありますが、プリンターは気にしません。バイトストリームを受け取るだけです。

プリンターなしでZPLをプレビューできますか?

はい — LabelaryのようなレンダリングサービスがZPLを画像に変換します。ZPLCraftのエディターではラベルのリアルタイムプレビューを表示しながらデザインできるため、レイアウトが完成するまでラベル用紙を使いません。

どのプリンターがZPLに対応していますか?

互換性はモデルと構成によって異なります。メーカー仕様でZPLまたはZPL IIへの対応、あるいは文書化されたエミュレーションモードを確認し、対象DPIと必要な機能を確かめたうえで、実際の出力経路をテストしてください。USB接続やTCPポート9100への対応だけでは、そのプリンターがZPLを受け付けることの証明にはなりません。 互換性と推奨方法

出典