Message us on WhatsApp

Printing Urdu on a thermal receipt printer

Published , updated

Thermal printers cannot print Urdu as text. Their built in character set holds Latin letters, digits and a few line drawing symbols, and nothing else. Send Urdu to one as text and it prints a row of question marks or empty boxes, one for every character it could not match.

The way around it is to stop sending text. Urdu is rendered into a small image first, and the image is sent to the printer as raster data. The printer is not asked to understand Urdu at all. It is asked to darken dots, which is the only thing it ever really does.

Sent as text, Urdu reaches a printer whose character set holds Latin letters only, and prints as question marks. Rendered to an image first, the same words reach the printer as dots and print correctly. AS TEXT Urdu item name sent as characters Printer character set Latin and symbols only 2 ?????? ?????? 4 ???? AS AN IMAGE Urdu item name rendered to a bitmap Printer raster mode darkens dots, reads nothing 2 چکن کڑاہی 4 روٹی The printer is never asked to understand Urdu. It is asked to darken dots.
Sent as text, Urdu meets a character set that has no Urdu in it. Rendered to an image first, the same words arrive as dots and print correctly.

Why this matters at the counter

The person who benefits is in the kitchen, not at the till. A cook reading Chicken Karahi off a ticket is translating in their head on every order. A cook reading چکن کڑاہی is not.

That is why this belongs on the kitchen ticket specifically. The customer receipt stays in English, where the numbers are what matter and both languages read the same.

What it looks like in practice

A kitchen ticket with both scripts on it:

The English is text. The Urdu beside it is an image, placed in its own column. On paper you cannot tell the difference, which is the point.

What you have to do

Enter the Urdu name for an item once, when the menu is set up. Items without an Urdu name print in English only, so there is no half finished state and nothing breaks if you only translate the twenty items that actually get shouted across a kitchen.

Nothing else changes. The printer does not need special firmware, an Urdu font or a particular brand. Any standard 58mm or 80mm thermal printer will do it, because the printer is only ever receiving dots.

The honest limits

Images print slower than text. On a long ticket you will notice a fraction of a second more. That is the whole cost.

Urdu also does not appear anywhere else. Not on the customer receipt, not in the admin panel, not on the online menu. The kitchen ticket is the one place it earns its keep, and spreading it further would be work with nothing behind it.

How the till and the printing work

Questions

Can a thermal printer print Urdu?

A thermal printer cannot print Urdu from its built in character set, because that set holds Latin letters and line drawing symbols only. Urdu prints correctly when it is sent to the printer as an image instead of as text.

Why does Urdu come out as question marks or boxes?

Question marks and boxes mean the printer received Urdu as text and had no character to match. The printer substitutes a placeholder for every character it does not hold, which is why the whole line looks wrong rather than part of it.

Should the customer receipt be in Urdu too?

The customer receipt is usually clearer in English, because prices and totals read the same way in both languages. Urdu earns its place on the kitchen ticket, where the person reading it is cooking rather than checking a total.

Ask about your own shop

Every shop is set up by hand, so the first step is a conversation. If this will not fit what you do, we will tell you.