I want to print an image from a command line:

lp -o scaling=//100// image.jpg

How can I force it to be printed in grayscale?


4 Answers 4


Maybe you are looking for lpoptions ?

Use lpoptions -l in order to know what's the name for your printer.

You can play it like thi (example with an HP Photosmart) :

lp -o scaling=//100// -oColorModel=KGray image.jpg

If you look in the PPD file for the current printer, you should get a hint of how to denote grayscale printing (or any option for that matter). It could be as above or ColorModel=Gray, ColorModel=Grayscale, etc.

Try the following command to search the options for printers on your system:

grep -i gr[ae]y /etc/cups/ppd/*.ppd

Open cups window in Raspberry pi os

menu > preferences > Print Settings > select your printer > Properties >

Printer Options > Color Model > Grayscale
  • The question is not about Raspberry. Apr 26, 2022 at 5:20
  • 1
    But as raspberry is Linux based. So the options would be same, I hope.
    – Whois7pi
    May 7, 2022 at 7:08

You will have to convert the image to a grayscale version, by e.g GraphicsMagick or ImageMagick.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .