Duotone effect — rebuild any photo from two colours

Choose a photo, a colour for the shadows and a colour for the highlights, and the tool rebuilds the picture from a smooth blend of just those two colours.

Live demo · real result from this tool

Drop images here

or paste with Ctrl+V · nothing is uploaded

Your result appears here — processed on your device.

Processed on your device — nothing is uploaded.

How to use Image Duotone

  1. Choose one or more images.
  2. Pick the Shadows colour. The default is a deep navy, #1e1b4b.
  3. Pick the Highlights colour. The default is amber, #fbbf24.
  4. Choose Save as and Quality, then press Apply.

What it does and when to use it

Duotone is a printing idea: two inks make a whole picture. On screens it has become a popular look for posters, album art, event banners, blog headers and team photo pages. It hides the differences between photos taken in different light, and it puts your colours front and centre.

It works best on photos with clear light and shade, such as portraits with side light, city skylines or sports shots. Flat, evenly lit photos give a weak result; raising Image Contrast first helps. For a plain black-and-white version instead, use Image Grayscale. For only two flat tones with no blending, use Image Threshold.

How it works

For each pixel the tool first finds its brightness with the Rec. 709 weights:

luma = (0.2126 × R + 0.7152 × G + 0.0722 × B) ÷ 255, from 0 to 1

Then each output channel is placed on the line between the two colours:

output = shadow + (highlight − shadow) × luma

So a black pixel becomes exactly the shadow colour, a white pixel exactly the highlight colour, and everything else falls in between. Transparency is kept. The processing runs in a background worker on your device and nothing is uploaded.

Worked examples

These values come from the tool’s own formula, with the default navy (30, 27, 75) and amber (251, 191, 36).

  • Black (0, 0, 0) becomes the navy itself, (30, 27, 75). White becomes the amber, (251, 191, 36).
  • Middle grey (128, 128, 128). Luma is about 0.5, so it lands halfway: (141, 109, 55), a muted gold-brown.
  • A sky-blue pixel (100, 150, 200). Its luma is 143 out of 255, so it becomes (154, 119, 53), a little lighter than the grey.
  • Black and pink (#000000 and #ff4fa3). Middle grey becomes (128, 40, 82), a deep raspberry, and white becomes the full pink.

Limits and tips

  • Different colours of equal brightness merge, so detail that depends on colour alone can disappear.
  • A large difference in lightness between your two colours keeps the most detail.
  • PNG keeps smooth gradients cleanest; JPEG at high quality is fine for photos.

Frequently asked questions

How do I choose two colours that work?
Pick a dark colour for Shadows and a light colour for Highlights, so the photo keeps its contrast. Navy with amber, black with pink, or deep green with cream all keep faces and shapes readable. Two colours of similar lightness make a flat, hard-to-read picture.
What happens if I swap the two colours?
The picture comes out like a negative, because dark areas get the light colour and light areas get the dark one. That can be a deliberate effect.
Does it keep any of the original colours?
No. Only the brightness of each pixel is used. A red apple and a green apple of the same brightness come out identical. For a colour wash that keeps the original colours, use Image Tint.
Can I use it for a brand set of photos?
Yes. Using the same two brand colours on every photo is a quick way to make mixed images from different sources look like one series.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close