Zebra Weblink Printer Setup Guide

There are two ways you can configure Zebra printers that are equipped with Weblink (almost all modern printers have Weblink).

After the printer restarts, you can add the printer with Serial and MAC Address like any other fixed reader.

Minimum firmware version

The minimum firmware version for Zebra Weblink to work reliably is Vxx.xx.10Z. You can check the firmware version on the printer's configuration label, through the printer's web interface, or by printing a configuration report (hold the FEED button for 2 seconds during power-up).

Configuration Mode

USB stick

Important: USB stick must be formatted to FAT32 for this to work.

The files you need to put on the USB stick can be downloaded in a zip file above. If you extract on a USB stick, the directory structure should be:

Directory structure:

[USB-CONFIG-DRIVE: U:\]

[U:/]
└── Zebra/
    ├── commands/
    │   └── configure.zpl
    └── files/
        ├── WEBLINK1_CA.NRD
        ├── WEBLINK1_CERT.NRD  (optional)
        └── WEBLINK1_KEY.NRD   (optional)

Configuration steps:

For the USB configuration to be applied correctly:

  1. Perform a factory reset on the printer first
  2. Insert the USB stick into the printer
  3. Restart the printer with the USB stick plugged in
  4. Wait for the printer to read the configuration and restart automatically

The printer will not apply configurations from the USB stick during normal operation — a restart with the USB stick inserted is required.

File contents

You can also construct the file structure manually with the following file contents, or download individual files:

configure.zpl Testing (download)


{}{"device.frontpanel.line1":"LabelCloud - ZTC ZD621-203dpi ZPL"}
{}{"device.frontpanel.line2":"Configuring ..."}
{}{"weblink.logging.max_entries":"250"}
{}{"weblink.ip.conn1.location":"https://labelcloud.bloodlab.org:443/weblink?access_key=05XjATFFNE6B4ssLkUbQjzIQnnLUywln6j4CLuP5Luo="}
{}{"ip.ntp.enable":"on"}
{}{"ip.ntp.servers":"pool.ntp.org time.google.com"}


{}{"device.frontpanel.line1":"LabelCloud - ZTC ZD621-203dpi ZPL"}
{}{"device.frontpanel.line2":"Configuring ..."}
{}{"ip.ntp.enable":"on"}
{}{"ip.ntp.servers":"pool.ntp.org time.google.com"}

{}{"device.command_override.active":"yes"}
{}{"device.command_override.add":"bluetooth.enable=lock"}
{}{"device.command_override.add":"mqtt.enable=lock"}
{}{"device.command_override.add":"usb.host.*=lock"}
{}{"device.command_override.add":"usb.mirror.*=lock"}

{}{"bluetooth.discoverable":"off"}
{}{"bluetooth.bonding":"off"}
{}{"bluetooth.enable_reconnect":"off"}
{}{"bluetooth.json_config_channel_enable":"off"}
{}{"bluetooth.sniff_mode_enable":"disabled"}
{}{"bluetooth.enable":"off"}

{}{"mqtt.enable":"off"}

{}{"usb.host.config_info_to_usb":"off"}
{}{"usb.host.keyboard_input":"off"}
{}{"usb.mirror.auto":"off"}
{}{"usb.mirror.enable":"off"}

{}{"weblink.cloud_connect.enable":"off"}
{}{"weblink.ip.conn1.test.test_on":"off"}
{}{"weblink.ip.conn2.test.test_on":"off"}
{}{"weblink.zebra_connector.enable":"off"}
{}{"weblink.logging.max_entries":"250"}
{}{"weblink.logging.clear":""}
{}{"weblink.ip.conn1.location":"https://labelcloud.bloodlab.org:443/weblink?access_key=05XjATFFNE6B4ssLkUbQjzIQnnLUywln6j4CLuP5Luo="}
{}{"weblink.ip.conn1.retry_interval":"300"}
{}{"weblink.ip.conn1.retry_interval_random_max":"60"}

{}{"device.reset":""}

WEBLINK1_CA.NRD (download)

-----BEGIN CERTIFICATE-----
MIIDfjCCAyOgAwIBAgIQAOEwZZeKNtMT49sGbgbCgDAKBggqhkjOPQQDAjA7MQsw
CQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQwwCgYD
VQQDEwNXRTEwHhcNMjYwNjI1MDc0OTE0WhcNMjYwOTIzMDg0ODU3WjAXMRUwEwYD
VQQDEwxibG9vZGxhYi5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQKaC43
gzZKtv2CMlzCZzHLOWluRj6tPZLoK4i8I9cSJ1E7NhWADTSMgwqhOKXSVRaLgc7U
ghPi28o59Jo3TLY1o4ICKzCCAicwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG
CCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFF0Pg9r7Mk3HAJaePZUG
v5oEgcfyMB8GA1UdIwQYMBaAFJB3kjVnxP+ozKnme9mAeXvMk/k4MDUGCCsGAQUF
BwEBBCkwJzAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd2UxLmNydDAn
BgNVHREEIDAeggxibG9vZGxhYi5vcmeCDiouYmxvb2RsYWIub3JnMBMGA1UdIAQM
MAowCAYGZ4EMAQIBMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jLnBraS5nb29n
L3dlMS83YjEwV1BPYUNsTS5jcmwwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQDY
CVU7lE96/8gWGW+UT4WrsPj8XodVJg8V0S5yu0VLFAAAAZ79+BXMAAAEAwBGMEQC
IDg8Em7mn0a8MjFjuSu30Phimqh+93hSyTVukb8zlNaIAiB1x5cynICuh7eMV4H+
Va63ICGksBBoAFfsNPyszIFRVAB2AMIxfldFGaNF7n843rKQQevHwiFaIr9/1bWt
dprZDlLNAAABnv34FVoAAAQDAEcwRQIgIUk7h2XibDg8eTby3Ggw09oqoUUFLElo
U3TOURRAERwCIQCuHtPGuib11AN75SW/Tk1pbNNHK90pwntknWJRkeJRJTAKBggq
hkjOPQQDAgNJADBGAiEArAj3Vpxojl9lQiKos5JvZAWhX95ARm2r55ukhbi8z2cC
IQCL4eyn1sovswVO1Ou+GpDSdETxHsiP9TSdEHMSonlcfg==
-----END CERTIFICATE-----

Telnet client

It is also possible to configure the printer remotely by using Telnet. Ensure you have a Telnet client available. You can either use the built-in Telnet client or use a third party client like Putty.

Open a connection to the printer using your Telnet client.

Telnet connect:

telnet <ipaddress> 9100

Once connected to the printer, copy the contents of both files listed below into your Telnet client.

Important: After sending both files via Telnet, you must manually restart the printer for the configuration to take effect. The printer will not automatically reboot after receiving Telnet commands.

WEBLINK1_CA.NRD (for Telnet):

-----BEGIN CERTIFICATE-----
MIIDfjCCAyOgAwIBAgIQAOEwZZeKNtMT49sGbgbCgDAKBggqhkjOPQQDAjA7MQsw
CQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQwwCgYD
VQQDEwNXRTEwHhcNMjYwNjI1MDc0OTE0WhcNMjYwOTIzMDg0ODU3WjAXMRUwEwYD
VQQDEwxibG9vZGxhYi5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQKaC43
gzZKtv2CMlzCZzHLOWluRj6tPZLoK4i8I9cSJ1E7NhWADTSMgwqhOKXSVRaLgc7U
ghPi28o59Jo3TLY1o4ICKzCCAicwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG
CCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFF0Pg9r7Mk3HAJaePZUG
v5oEgcfyMB8GA1UdIwQYMBaAFJB3kjVnxP+ozKnme9mAeXvMk/k4MDUGCCsGAQUF
BwEBBCkwJzAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd2UxLmNydDAn
BgNVHREEIDAeggxibG9vZGxhYi5vcmeCDiouYmxvb2RsYWIub3JnMBMGA1UdIAQM
MAowCAYGZ4EMAQIBMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jLnBraS5nb29n
L3dlMS83YjEwV1BPYUNsTS5jcmwwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQDY
CVU7lE96/8gWGW+UT4WrsPj8XodVJg8V0S5yu0VLFAAAAZ79+BXMAAAEAwBGMEQC
IDg8Em7mn0a8MjFjuSu30Phimqh+93hSyTVukb8zlNaIAiB1x5cynICuh7eMV4H+
Va63ICGksBBoAFfsNPyszIFRVAB2AMIxfldFGaNF7n843rKQQevHwiFaIr9/1bWt
dprZDlLNAAABnv34FVoAAAQDAEcwRQIgIUk7h2XibDg8eTby3Ggw09oqoUUFLElo
U3TOURRAERwCIQCuHtPGuib11AN75SW/Tk1pbNNHK90pwntknWJRkeJRJTAKBggq
hkjOPQQDAgNJADBGAiEArAj3Vpxojl9lQiKos5JvZAWhX95ARm2r55ukhbi8z2cC
IQCL4eyn1sovswVO1Ou+GpDSdETxHsiP9TSdEHMSonlcfg==
-----END CERTIFICATE-----

configure.zpl (for Telnet): Testing


{}{"device.frontpanel.line1":"LabelCloud - ZTC ZD621-203dpi ZPL"}
{}{"device.frontpanel.line2":"Configuring ..."}
{}{"weblink.logging.max_entries":"250"}
{}{"weblink.ip.conn1.location":"https://labelcloud.bloodlab.org:443/weblink?access_key=05XjATFFNE6B4ssLkUbQjzIQnnLUywln6j4CLuP5Luo="}
{}{"ip.ntp.enable":"on"}
{}{"ip.ntp.servers":"pool.ntp.org time.google.com"}


{}{"device.frontpanel.line1":"LabelCloud - ZTC ZD621-203dpi ZPL"}
{}{"device.frontpanel.line2":"Configuring ..."}
{}{"ip.ntp.enable":"on"}
{}{"ip.ntp.servers":"pool.ntp.org time.google.com"}

{}{"device.command_override.active":"yes"}
{}{"device.command_override.add":"bluetooth.enable=lock"}
{}{"device.command_override.add":"mqtt.enable=lock"}
{}{"device.command_override.add":"usb.host.*=lock"}
{}{"device.command_override.add":"usb.mirror.*=lock"}

{}{"bluetooth.discoverable":"off"}
{}{"bluetooth.bonding":"off"}
{}{"bluetooth.enable_reconnect":"off"}
{}{"bluetooth.json_config_channel_enable":"off"}
{}{"bluetooth.sniff_mode_enable":"disabled"}
{}{"bluetooth.enable":"off"}

{}{"mqtt.enable":"off"}

{}{"usb.host.config_info_to_usb":"off"}
{}{"usb.host.keyboard_input":"off"}
{}{"usb.mirror.auto":"off"}
{}{"usb.mirror.enable":"off"}

{}{"weblink.cloud_connect.enable":"off"}
{}{"weblink.ip.conn1.test.test_on":"off"}
{}{"weblink.ip.conn2.test.test_on":"off"}
{}{"weblink.zebra_connector.enable":"off"}
{}{"weblink.logging.max_entries":"250"}
{}{"weblink.logging.clear":""}
{}{"weblink.ip.conn1.location":"https://labelcloud.bloodlab.org:443/weblink?access_key=05XjATFFNE6B4ssLkUbQjzIQnnLUywln6j4CLuP5Luo="}
{}{"weblink.ip.conn1.retry_interval":"300"}
{}{"weblink.ip.conn1.retry_interval_random_max":"60"}

{}{"device.reset":""}