How does it work?
Local printing
The module sends a document from your store to el-Print on your computer, and el-Print prints it on a printer attached to that computer.
Network printing
The module sends a document from your store to el-Print, and el-Print sends it to a printer that has its own address on the network.
Proxy printing
The module sends a document from your store to el-Print, and el-Print passes it to another computer that also runs el-Print. That computer prints it.
Opening the settings
el-Print lives in the system tray. Click its icon and choose Settings to open the window. Earlier versions were configured through a browser at localhost:9109; that page no longer exists and the settings are part of the application.

Which websites may print
This is the first field to fill in. Your browser is what connects to el-Print, so a program listening on your own machine can be reached by every page you have open. Until this list has something in it, any website you visit can send jobs to your printer, and el-Print writes a reminder to errors.log every time it accepts a connection while the list is empty.
Put your shop's address there, one per line — a domain or an IP:
- The port is part of the address. A shop served on http://192.168.1.50:8080 is not matched by 192.168.1.50 on its own. Ports 80 and 443 are never written.
- http and https are the same address; the scheme is not compared.
- An asterisk covers subdomains: *.example.com allows admin.example.com but not example.com itself — add that on its own line.
- Upper and lower case do not matter.
A request that arrives without an Origin header is accepted whatever the list says. Browsers always send one, so this does not weaken the list; it is how a script running on the same machine connects.
Description of settings
- Autostart — if checked, the program adds itself to the operating system's startup. Enabled by default.
- Local Listener → Host — the address el-Print expects data on from a browser on this machine. Default localhost.
- Local Listener → Port — the port it listens on. Default 9109.
- Network Listener → Host — the address el-Print expects data on from other machines. Leave the network listener disabled unless you print from another computer.
- Network Listener → Port — default 9112.
- Add Local Printer, Add Network Printer, Add Proxy Printer — add a rule for a local, network or proxy printer.
- Category — the kind of document. Latin letters and digits, no spaces. If you print UPS and FedEx labels on different printers, create two rules and set the category to ups in one and fedex in the other. The default * means the category is not taken into account.
- Ext — the file extension, in lower case: pdf, zpl and so on. Documents with different extensions can go to different printers. The default * means the extension is not taken into account.
- Printer — the printer's name as the operating system knows it. The list beside the field offers the printers installed on this machine; choosing one fills the name in exactly.
- IP — the address of a network printer or of the computer that will print. Default 127.1.1.1.
- Port — the port of a network printer or proxy. Default 9100.
A rule with a real category or extension wins over one with an asterisk. If Printer1 has category fedex and extension zpl, and Printer2 has * and *, then fedex zpl documents print on Printer1 and everything else on Printer2.
Does it reach my printer?
The Printers section has a Print test page… button. It prints a fixed page and needs no licence, so it can be used before buying anything.
Choose the language your printer speaks: a document (PDF) for an ordinary printer, or a ZPL, EPL or TSPL label for a thermal one. A label printer prints nothing at all when it is sent a PDF.
If the page comes out, el-Print can drive that printer and anything still wrong is between your store and el-Print. If nothing comes out, the problem is between el-Print and the printer, and errors.log next to the program says which.
The licence
el-Print is free to download and run. Printing is what needs a licence: a file called license.json that you download from your account at extmag.com after buying one.
Press Load licence file… in the settings window and pick the file — it is copied into your personal configuration folder, so it survives moving or updating the application. The window then shows who the licence belongs to and how many days remain.
Renewing adds to what is left, so nothing is lost by renewing early. No internet connection is needed to check a licence; it is verified on your own machine.
Settings you will not usually need
config.json, next to the program, holds the timeouts and limits: how long one job may take (limits.job_timeout_seconds, 60), the largest document accepted (limits.max_job_size_mb, 32), how many jobs per second are accepted (limits.rate_per_second, 5) and how many may arrive at once (limits.rate_burst, 10), the timeouts for connecting to and writing to a network printer (printer_network.connect_timeout_seconds, 10; printer_network.write_timeout_seconds, 30), and when errors.log is rotated (log.max_size_mb, 5; log.keep, 2).
Every value has a default and a missing key means that default, so the file can be left alone. Change it when a printer is slow to answer or a job is unusually large, then press Save and Restart.