To print from Windows or a Mac, a thermal printer needs a driver made for its exact model, which you download from the printer manufacturer's website. On Android you don't install a driver at all; you install a print app or print service instead. This guide shows you how to identify your printer, where to get a safe driver, and how to install and set it up so receipts print at the right size.
Quick steps for Windows:
- Print a self-test page to find the exact model.
- Download the driver from the manufacturer's official site.
- Run the installer, choose the model and the port (USB, COM or network).
- Set the paper size to 58 mm or 80 mm and print a test page.
Do you actually need a driver?
It depends on what you print from:
| Printing from | Driver needed? | What you need instead |
|---|---|---|
| Windows apps (Word, browser, PDF) | Yes | The manufacturer's Windows driver |
| Mac | Yes, if the maker offers one | A macOS driver or CUPS driver |
| POS software that talks to the printer directly | Sometimes not | The port (COM, USB or IP address) set inside the POS |
| Android phone or tablet | No | A print app or print service |
| iPhone or iPad | No | The printer maker's app, or a POS app that supports the printer |
| Your own code (Python, PHP, Node.js) | No | An ESC/POS library that sends commands directly |
A driver translates ordinary documents into the commands your printer understands. Most receipt printers speak a command language called ESC/POS, and most label printers speak ZPL, TSPL or a similar language. Programs that already speak those languages can skip the driver.
Step 1: Find your exact printer model
Many thermal printers are sold under several brand names, so the name on the box isn't always enough. Find the real model three ways:
- The label underneath. Look for "Model", "Type" or a code such as POS-58, XP-58IIH, TM-T20III, MP-80 or similar.
- The self-test page. Switch the printer off, hold the Feed button and switch it on. Release after a second or two. The printout shows the model, firmware version, interface (USB, serial, Bluetooth, Ethernet) and settings such as baud rate.
- The box or manual. The manual usually names the manufacturer, even when the printer carries a store brand.
Unbranded "POS-58" or "POS-80" printer? Many generic printers are made by the same few factories and accept a generic 58 mm or 80 mm ESC/POS driver. Check the seller's page or the CD in the box for the driver they supply, and try the manufacturer named in the manual.
Step 2: Download the driver from the official source
Always download drivers from the printer manufacturer's own website. These are the support sites of common thermal printer brands:
- Epson (TM series receipt printers)
- Star Micronics (TSP and mC-Print series)
- Xprinter
- HPRT
- Rongta
- MUNBYN
- Netum
- Bixolon
- Citizen
- Zebra (label printers)
On each site, look for a Support, Download or Driver section and search for your model. Pick the download that matches your operating system and whether Windows is 32-bit or 64-bit.
Avoid "driver download" websites that offer every driver for every printer. They often bundle adware, serve outdated files, or push a paid "driver updater". If the manufacturer's site is hard to use, email their support or the seller; they will send the right file.
Step 3: Install the driver on Windows
The exact screens differ between manufacturers, but the steps are the same:
- Connect the printer and switch it on. For USB, plug it in directly rather than through a hub if you can.
- Run the installer you downloaded. Allow it to make changes if Windows asks.
- Choose your model from the list. If yours isn't listed, choose the closest model with the same paper width.
- Choose the port:
- USB: usually
USB001or similar. - Serial: the COM port, with the baud rate from the self-test page.
- Network: add a Standard TCP/IP port with the printer's IP address (also on the self-test page), port 9100.
- Bluetooth: pair the printer in Windows Bluetooth settings first. Windows creates an outgoing virtual COM port; select that port.
- USB: usually
- Finish the installation and open Settings › Bluetooth & devices › Printers & scanners. Your printer should now be listed.
Step 4: Set the paper size and print a test page
This is the step most people skip, and it causes tiny text, huge margins or receipts that cut off.
- Open the printer in Printers & scanners and choose Printing preferences.
- Set the paper size to match your roll: 58 mm (sometimes listed as 2 inch or 57 mm) or 80 mm (3 inch). For label printers, enter the label size, for example 4×6 inch.
- Set the paper length to a long or "receipt" length, so documents don't split across many short pages.
- Turn on the cutter, cash drawer or darkness options if your printer has them.
- Click Print test page.
When you print from a browser, also set margins to None and scale to Fit to page width in the print dialog.
Windows driver vs OPOS vs "direct" printing
POS software often offers several ways to reach the printer. Here's what they mean:
- Windows driver: the printer appears as a normal printer. Any program can print to it, but receipts are drawn like documents, which can be slower and harder to format.
- OPOS or JavaPOS driver: a standard interface for retail devices. Some POS systems require it to control the cash drawer and read printer status.
- Direct (raw) printing: the POS sends ESC/POS commands straight to the printer's port or IP address. It's the fastest method and gives full control of cutting and the cash drawer.
Check your POS software's setup guide to see which one it expects before you install anything.
Installing on a Mac
Some manufacturers publish macOS drivers; many budget brands don't. Your options:
- Install the maker's macOS driver or CUPS filter if one exists, then add the printer in System Settings › Printers & Scanners.
- For network printers, add the printer by IP address. Some printers work with a generic driver for simple text.
- If your POS software runs in a browser, check whether it prints directly to the printer's IP address, which avoids the driver question.
On Android, use a print app instead
Android doesn't load printer drivers. Instead, apps called print services plug into Android's Print menu and talk to the printer directly. For a Bluetooth or USB receipt printer:
- Install a print service that supports ESC/POS receipt printers.
- Pair the printer (Bluetooth) or connect it with a USB OTG cable.
- Select the printer in the app and print a test receipt.
After that, the printer appears in the Print menu of Chrome, Gmail, Google Drive and other apps. Read our step-by-step guide to printing to a Bluetooth printer from Android for details.
Troubleshooting driver problems
The printer prints a blank page or nothing at all
Check that the right port is selected and that the self-test page prints. If the self-test is also blank, the paper is upside down. Our guide to a thermal printer that won't print walks through every cause.
The printer prints pages of random characters
The driver doesn't match the printer's command language. A label printer driver sent to a receipt printer, or a Windows text driver sent to a label printer, produces exactly this. Install the driver for your exact model.
Text is tiny or cut off
The paper size in the driver doesn't match the roll. Set it in Printing preferences, and set margins to zero in the program you print from.
Every receipt prints across several short pages
The paper length is set to a fixed page height. Choose a receipt or "continuous" paper length, or increase the page height.
Bluetooth printer prints only sometimes
Windows may have assigned the incoming COM port instead of the outgoing one. In More Bluetooth settings › COM Ports, check which port is marked outgoing and select it in the driver.
Frequently asked questions
Where do I download a thermal printer driver?
From the printer manufacturer's official website, under Support or Downloads. If you can't find the manufacturer, use the driver from the seller or the disc in the box. Avoid sites that bundle every driver in one download.
Can I use a generic driver for a thermal printer?
Often, yes. Many 58 mm and 80 mm receipt printers accept a generic ESC/POS driver at the matching width. The model-specific driver is still the best choice, because it sets the right resolution, cutter and darkness options.
Do I need a driver to use a thermal printer with my phone?
No. Phones don't use printer drivers. On Android you install a print app or print service; on iPhone you use the maker's app or a POS app that supports your printer.
How do I install a POS thermal printer driver on Windows 11?
Connect the printer, run the manufacturer's installer, choose your model and port, then set the paper size in Printing preferences. If the installer doesn't support Windows 11, try adding the printer manually with Add device › Add manually and the driver files.
Why does my thermal printer show as "Unspecified" in Windows?
Windows sees the USB device but has no driver for it. Install the manufacturer's driver, then select the printer's USB port during installation.