Markio Help Center
Markio prints barcode labels for your Shopify catalog, and keeps the codes behind those labels in order. It reads your products once after install, lets you design a label, and prints it at exactly the size of the stock in your printer.
If you have five minutes and a roll of labels, start with Print labels. If your scanner is finding the wrong product or nothing at all, start with Catalog audit.
The screens
| Screen | What it is for |
|---|---|
| Print labels | Pick products, say how many of each, print. Also scanning, and printing from a delivery file. |
| Templates | Design what goes on the label and where. |
| Catalog audit | Find duplicate, broken and missing codes, and fix them in bulk. |
| Barcodes & SKUs | Issue codes, import codes you already have, add extra codes a product answers to. |
| Printers | Save a printer, calibrate it, test-print. |
| Print history | Reprint a job, print more of one line, see who printed what. |
| Settings | Units, defaults, language, roles, scheduled audits, support. |
Three things about the platform, said up front
These are not Markio's choices. They are limits of the browser and of Shopify's API, and you will meet all three, so they are worth two minutes now.
Printing happens in a separate browser tab, not inside the Shopify admin. Chrome 142 closed web pages' access to devices on your local network. Zebra Browser Print is a service running on your own computer, and a page embedded inside the Shopify admin can no longer reach it — the permission that would allow it cannot be handed down to an embedded app. So when you press Print, Markio opens a new tab on its own address and prints from there. Allow pop-ups for the Shopify admin or that tab will never appear. See Print labels → the print tab.
Markio does not read Shopify purchase orders directly. Shopify's Admin GraphQL API does not expose its native purchase orders. Markio's answer is a CSV: export what actually arrived from whichever purchase-order tool you use, paste it in, and every received unit gets a label. If you are moving away from Stocky, a saved Stocky export works too. See Print labels → print from a receiving CSV.
There is no printing from an order, and no customer data. Markio does not request access to protected customer data, which means it never asks Shopify for orders or for anything about a buyer. The trade is deliberate: nothing about your customers is stored, and in exchange there is no "print labels for this order" button. Print from the product list, from a collection, from a scan, or from a delivery file instead.
What is free and what is paid
There are exactly two plans. Printing is unlimited on both — Markio never charges per label.
Free covers:
- Barcode and SKU generation, with no limit on how many
- All supported barcode formats, including GS1-128 and Data Matrix
- The label template editor
- Custom label sizes
- Avery sheets and custom grids
- PDF printing
- Bulk printing
- Multilingual labels
- The catalog audit — the whole report, read-only
- Exporting your codes to a spreadsheet
- Scan verification — which product a printed code really lands on
Free also allows one saved printer profile and reprints from the last 7 days of print history. There is no limit on locations — the Pro feature is restricting an operator to one, not having several.
Pro is $9.99 a month, or $99.90 a year, and adds:
- Bulk barcode fixes with a before-and-after preview and an undo
- Scheduled audits and email alerts
- Printing from Shopify POS
- Printing from a receiving CSV
- Adding extra codes that scan to a product
- Direct Zebra (ZPL) printing
- Saved print jobs
- Full print history
- User roles
- Per-location restrictions
- The print audit log
Plans are changed on Shopify's own pricing page — Settings → Plan → See plans in Markio takes you there. Shopify owns the charge and the proration, not us.
Limits worth knowing
| Limit | Value | Applies to |
|---|---|---|
| Labels in one print job | 20,000 | Both plans. Not a quota — split the job and run it again immediately. |
| Copies of one line | 1,000 | Both plans. |
| Rows selected in one job | 5,000 | The Print labels screen. |
| Labels per printed part | 500 | A larger job is split into parts you print one at a time. |
| Products read from one collection | 250 | Narrow with a vendor or tag to reach the rest. |
| Variants per bulk code issue | 500 | Run it again to continue. |
| Rows in a code export | 50,000 | |
| Rows in a print-log export | 5,000 | |
| Elements on one label | 120 | |
| Label size | 0.25 in to 12 in per side | |
| Calibration offset | ±20 mm | Anything larger is the wrong stock, not a nudge. |
| Print tab link | valid 12 hours | After that, reprint from history to get a fresh one. |
On the Free plan there is also a soft guard at 100,000 labels in a calendar month. It never blocks a job — past that point very large runs go to the back of the render queue and take longer, and Markio tells you so.
Interface language
Settings offers a language picker with six languages in it — English, German, French, Spanish, Italian and Dutch. Every interface message has a translation entry; language quality is reviewed separately from that structural check. The setting also controls how dates and numbers are formatted on the printed label. See Settings.
Getting help
Every screen has a "Need help?" line at the bottom linking to these pages and to support.
Before you email, open Settings → Support and press Copy diagnostic report. It collects your printer, channel, label size, template, resolution, calibration offsets and the last error, with secrets stripped out. Pasting it into your first message usually means we do not have to ask anything back. Email support answers within one business day, Monday to Friday.
The print tab has its own version of the same thing: open Something printed wrong? at the bottom and press Copy diagnostic report. Use that one when the problem is the printing itself, because it also captures whether the browser allowed local network access.