Most small office/home office (SOHO) multifunction printers (MFPs) don’t support network scanning. If such a scanner cannot scan to a shared SMB folder or email, you can use the NAPS2 tool to share any local USB scanner.
NAPS2 (Not Another PDF Scanner) is a popular free open-source software that scans and recognizes documents via WIA and TWAIN-compatible scanners. Starting with version 7.2.0, released in December 2023, NAPS2 allows local USB scanners to be shared over a LAN with other users.
A computer with a local USB scanner acts as a scan server to which NAPS2 clients connect over the network using eSCL (eSCL is a driverless scanning protocol).
Install NAPS2, configure a profile for a local scanner with a WIA or TWAIN driver, and click the Scanner Sharing button.
Select the local scanner you want to share and enter a name for the connection.
The NAPS2 app must be running on the host computer (running as a Windows service in the background is not yet supported). NAPS2 runs a listener on UDP port 5353. You can use PowerShell to list the processes listening on this port:
Get-NetUDPEndpoint -LocalPort 5353 | Select-Object LocalAddress,LocalPort,OwningProcess,@{ Name="ProcessName"; Expression={((Get-Process -Id $_.OwningProcess).Name )} }
UDP port 5353 and TCP 9801,9901 must be opened on the NAPS2 server. Use PowerShell to create Windows Defender firewall rules for the NAPS2 app:
New-NetFirewallRule -DisplayName NAPS2-UDP-in -Profile any -Direction Inbound -Action Allow -Protocol UDP -LocalPort 5353 -Program "C:\Program Files\NAPS2\NAPS2.exe"
New-NetFirewallRule -DisplayName NAPS2-TCP-in -Profile any -Direction Inbound -Action Allow -Protocol TCP -LocalPort 9801,9901 -Program "C:\Program Files\NAPS2\NAPS2.exe"
Then install NAPS2 on the client computer, add a new scanner, and select the ESCL driver type.
The client computer will send the mDNS broadcast (UDP 224.0.0.251:5353
) to discover the shared scanners on the LAN. Select the shared scanner and you are ready to scan.
The mDNS (Multicast DNS) protocol is enabled in Windows 10 1703 and higher. It is used to resolve local network names using broadcasts. Try adding the suffix .local
to the hostname of the scan server to resolve its address over mDNS.
The computer hostname is used to connect to the NAPS server, so if the IP address of the server host changes, this will not affect network scanning. mDNS broadcast packets are not routed between subnets, so the scan server and the client must be connected to the same LAN (VLAN).
You can connect to the NAPS2 network scanner not only from Windows devices but also from Linux clients (SANE-AirScan), Android (Mopria Scan), iOS (AirScan), and macOS (Image Capture) with ESCL protocol support.