What is the best way to remove a brownish orangish stain on an old back and white photo (like the red ringed area on the attached photo), using GIMP? I don't want to remove the sepia tone from the whole photo, just the brown stain. Is there a way of selecting just the brown pixels and then either making them white, or converting them to an appropriate shade of grey?

Thank you - Rowan

Image to be fixed

  • My immediate resonse was "Oh, simple. You need the Sponge tool"… then I discovered Gimp apparently doesn't have one :\ I found this & other resources on how to attempt the same thing, but I'm not competent-enough in Gimp to add this as an answer. - smallbusiness.chron.com/sponge-gimp-53127.html By comparison, this was two clicks in Photoshop using the Sponge… i.stack.imgur.com/9OWBQ.jpg if I was being particularly fussy, I'd paint the sepia back in afterwards, but at this size i doubt anyone would notice.
    – Tetsujin
    May 4, 2021 at 16:46

3 Answers 3


In one gesture:

You have a monochrome picture. The reddish tint appears because unlike in the rest of the picture, the Blue channel has a lower value than the Red one (this is also a bit true for the Green channel).

You can eliminate the stain by reconstructing the picture from the Red channel:

  • Open the Channels list (Windows ➤ Dockable dialogs ➤ Channels but it normally in tabbed view with the Layers list)
  • Drag the Red channel to the canvas. This will create a layer where the three channels are equal, reconstructing your monochrome image without the stain.

enter image description here

  • It's not exactly monochrome, though it's 'sepia' [for want of a better word]. That element would need reconstruction afterwards.
    – Tetsujin
    May 6, 2021 at 18:01
  • Thank you for both these answers. Together they enabled me to remove the orange stain and to restore the sepia tone of the original photo, and to learn some new GIMP techniques that will come in useful in further retouching work. May 7, 2021 at 15:24

Insert a new empty top layer. Pick from a mid-gray area the sepia tone from the photo layer and fill the top layer with it. Let the blending mode of the top layer be = Color

That alone can be enough because the well saturated stain becomes nearly grey (=sepia) and keeps its brightness:

enter image description here

I guess you want to delete the edge ares of the sepia tone top layer if the white edges of the scanned photo are not full white. As well you can apply curves to the edge area to make it white in the photo layer, only make a selection. Here the edge area is selected in the photo and turned to white with curves. ===> sepia doesn't affect the edges.

enter image description here

If the stain isn't bright enough it can be seen as grey. You cal fix it by making the photo layer to B&W with Mono Mixer, Boost red and reduce blue channel. It lifts the brightness of the stain but doesn't affect how the sepia in the top layer works.:

enter image description here

This is the result with no effect dialogs: enter image description here

OOPS the image has one unwanted step too. The smoke cloud or a camera light leak in the right is thinned by increasing contrast locally. It's a layer duplicate in the bottom which has got contrast boost with curves.

The top layer is wiped a little off with the Eraser. The brush setting of the eraser is made smooth and low opacity. As well one could paint black to a fully white layer mask to make the higher contrast bottom layer gradually visible.


In GIMP choose the Paint Brush tool. In the tool options, set the brush blending mode to LCh Color

Ctrl+click on a grey area of the image to sample the colour

Paint with the brush over the stain

enter image description here

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.