Is there a way to change a printer's IP address in OSX (Lion) without having to add a new printer? I did find Printer IP Remedy, but was curious if there was an 'official' method.

  • Tried Printer IP Remedy on 10.7.4 and it all it seem to do was to remove my print queue – Ian Oakes Aug 19 '12 at 2:15

You can do this in the CUPS web interface with the following steps:

  1. Open Terminal.app and run cupsctl WebInterface=yes. This enables the CUPS web interface
  2. Open in your web browser
  3. Click on the printer you want to change. From the "Administration" drop down, select "Modify Printer".
  4. Log in with your local admin account
  5. Select the new printer IP either from "Discovered Network Printers" or add it manually with "Other Network Printers". Make sure that you keep the same connection protocol as it says in "Current Connection" (for me, this was LPD).

Once you're done with this, Mac OS X will directly print to the new IP address. There is no need to reboot or so. If you want to disable the CUPS web interface again, run cupsctl WebInterface=no.

  • 2
    Going through the CUPS web interface is considerably safer and more future-proof than editing backend files directly. – Maxx Daymon Mar 4 '14 at 0:51
  • Except when what you get is "Internal Server Error". What do you do then? – Wildcard Dec 11 '15 at 8:24
  • This still works on El Capitan to remove a printer - seems easier to add a new printer via the GUI with static IP address then remove the old non-working one. – RichVel Apr 1 '16 at 14:29
  • 1
    Still works on Mojave – LapplandsCohan Nov 21 '18 at 22:51

The configuration information is stored in a system file in /etc/cups/printers.conf. You could edit the file and just change the IP address, but you can easily run into permission problems and end up screaming with frustration.

Here are several options that should work; most require using the terminal command line.

  • Pick your text editor of choice, launch it with administrator privileges, and edit the file directly.
    Example: using terminal, type: sudo vi /etc/cups/printers.conf
    (sudo will launch vi with adminstrator privileges; which will require that you enter your password.)

  • Use sed to modify the file from the command line; here are some examples:

    • sed command line to change IP from to, creating a new file:
      sudo sed -i.bak s/10\.1\.1\.21/192\.168\.1\.47/g printers.conf
      To verify the changes, type:
      sudo diff printers.conf printers.conf.bak
    • sed command to change all IPs from 10.1.1.x to 192.168.1.x (leaving final segments unchanged); this will backup the file to printers.conf.bak:
      sudo sed -i.bak s/10\.1\.1\./192\.168\.1\./g printers.conf

Hope that helps.

  • 2
    /me performs a facepalm ... apple ... – akira Oct 19 '12 at 17:04
  • 1
    See the comment below. Way safer to use the web interface. – Max Masnick Jun 18 '14 at 17:36
  • The file had a comment about not editing while cupsd was running. So I shut it down while editing and restarted after, but that still didn't work. Removing and re-adding was way faster. I might try the Cups web interface next time. – Stan Kurdziel Aug 7 '15 at 17:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.