Intermec DP Simulator

Invalid JSON! Check the syntax.
Commands supported in the preview: PP x,y (position), FT "font",size (only the size is used), PT "text", BARSET "QRCODE" or "CODE39" followed by PB "content". Variables in the format ${key} come from the JSON. Other commands are ignored and listed as a warning.
Layout (Direct Protocol)
Data (JSON)
← All DarkBoxKit tools

How to use the simulator

The simulator shows, on screen, an approximate preview of how a label written in Direct Protocol (DP) would look, the command language of Intermec/Honeywell thermal printers. The idea is to test the layout and the data without wasting labels or depending on the printer.

  1. In the Layout (Direct Protocol) box, edit or paste the label code. An example is already loaded.
  2. In the Data (JSON) box, enter the values that will be placed in the layout, such as company name, material, weight and lot.
  3. In the layout, use placeholders in the format ${name} where the value should go. The name must match the JSON key (for example, ${material} uses the key "material").
  4. Click "Generate Preview". The preview appears on the right.
  5. If the JSON has a syntax error, a red message at the top points out the problem, such as a missing comma or wrongly closed quotation marks.

Commands the preview understands

The simulator interprets only a small set of commands, and the page itself shows a short list of them above the editor. Any other command is ignored, and an orange warning below the "Generate Preview" button lists what was discarded (except for PF and NASC, which are accepted without a warning).

The remaining BARSET parameters (such as width and ratio) are not read: the QR Code comes out at a fixed size and Code 39 with a fixed height and width. Commands such as PF or NASC from the example are accepted in the text but have no effect on the preview. If a barcode is invalid (for example, lowercase letters in Code 39, which only accepts A-Z, 0-9 and a few symbols), it is not drawn and the warning explains why.

Tips and uses

Limits of the simulation

This is a visual approximation, not a printer emulator. Measurements in printer dots are converted in a simple way to screen pixels, fonts are replaced, and the QR Code and Code 39 are generated by the browser's own libraries. The resolution (dpi) of your printer, the print mode and the fonts installed on it can change the final result. Always make a real test print before releasing the layout to production.

Privacy and how it works

The layout and the JSON data are processed in your browser, with no content sent to any server, and they are not saved: when you reload the page, the original example comes back. The barcodes are drawn with two libraries (JsBarcode and QRCode.js) loaded from public CDNs when the page opens. The page shows ads; see the Privacy Policy.

Frequently asked questions

Which printers is the code for?

The layout uses the Direct Protocol syntax of Intermec label printers. The preview, however, is only a visual reference: always confirm on the printer you use.

Nothing appears after I click "Generate Preview". What should I check?

See whether the JSON error message is showing. Then confirm that each text or code has a PP before it, that the content is between quotation marks and that BARSET uses "QRCODE" or "CODE39".

Why does my barcode of another type not appear?

The simulator only draws QR Code and Code 39. Other types are ignored in the preview, even if the printer accepts them.

The texts look different from the printed label. Is that an error?

Not necessarily. The preview uses a default font and an approximate size conversion, so spacing and widths vary compared with the printer.

Can I use quotation marks, slashes or other special characters in the data?

Yes. The JSON values are inserted as plain text, with no special interpretation, so quotation marks, slashes, dollar signs and symbols appear as typed. Line breaks and tabs inside a value are replaced by a space, so that a value does not create new commands. Each value is limited to 500 characters and the JSON must be an object.

Advertisement

Other free tools

Privacy PolicyTerms of UseAboutContactDarkBoxKit