blend two pictures togetherBlend two photos into one.

Mix two pictures and see every blend style side by side. Pick the one you like.

or drop them here · paste with Ctrl+V

Free · No account · Your photos stay in this tab

No frames loaded yet

Load a base frame, then the one that goes over it. Either slot takes a paste, or open the sample pair.

The sample pair is a silhouette and a texture, drawn here rather than fetched.
Both slots have to be filled before there is a blend to save. The sample pair fills them in one press.

Blend two pictures together and compare twelve modes, all drawn from the two frames you opened, at the same instant and at the same opacity. Choosing one takes the whole instrument with it.

No blend yet: both slots are waiting for a frame

Four families, and what each is for

A menu of twelve names is not a reference. What makes the set learnable is that the twelve fall into four groups by what they do to brightness, and inside each group the members differ only in how hard they do it.

Reading the thumbnails

Each tile carries the mode’s name and its arithmetic, written with b for the base frame and l for the layer on values scaled between nought and one. The formula is not decoration: it predicts the failure. A mode with a division in it — dodge and burn — will clip somewhere, because a division approaching zero has to. A mode built on min or max will show hard boundaries wherever the two frames cross, because nothing in it is averaged. A mode that is a product will go dark fast on two ordinary photographs, since most values in a photograph are below one.

The same arithmetic is also what makes this page checkable. When the engine loads it renders every possible pair of channel values through the browser’s own compositing and compares the answer against the reference implementation on this site. Where they agree, the browser draws. Where they do not, the numbers are worked out here instead, and the mode panel says so.

What this page cannot show you is the four non-separable modes. Hue, saturation, colour and luminosity are not in this build at all, so a comparison that included them would be a comparison against nothing. If you came for luminosity specifically, a layers application is still the right place to be.

Common questions

The divider is at 100% but the layer is not solid. Why?

Because the divider sets how much of the blend is applied, not whether the base takes part. Only normal mode at 100 per cent replaces the base outright; screen, multiply, difference and the rest are functions of both pictures at every setting, so at full strength you see the mode's own answer.

Does my browser compute the blend modes correctly?

This page checks rather than assumes. When the blender loads, it blends a 256-by-256 test frame holding every pair of channel values through the browser's own compositing and compares the result with this site's reference arithmetic. The line under the mode rail says what it found, and the table beneath it lists each mode, which path draws it here and the largest difference measured. Any mode off by more than 1/255 is computed by the pixel loop from the reference instead.

Why do the same two frames look different here than in a desktop editor?

Three things usually account for it, and only one of them is a disagreement about the mode. The first is order: most editors stack the layer above the background, and if your slots are the other way round, every asymmetric mode inverts. The second is colour space: a desktop application may be compositing in a wide gamut or in linear light, and this build composites in sRGB with the values as they are encoded. The third is opacity, which in an editor is often applied to a layer that also carries a mask, producing a different source alpha than the same number here.

What does separable mean, and which modes are missing because of it?

A separable mode decides each channel independently: red is computed from red, green from green, blue from blue, and the three never consult one another. All twelve here are separable, which is why each can be written as one line of arithmetic. The four that are not — hue, saturation, colour and luminosity — take all three channels of both frames, convert to a colour model with brightness on one axis, and rebuild. They are not in this build, and putting a wrong version of them on the rail would have been worse than leaving the rail at twelve.

Which of these modes care about which frame is on top?

Multiply, screen, darken, lighten and exclusion are commutative — swap the slots and the result is identical, because their arithmetic treats the two values symmetrically. Difference is symmetric too, since it takes an absolute value. Overlay and hard light are the same function with the operands exchanged, so swapping the slots turns one into the other. Colour dodge and colour burn change completely, and normal obviously does. Press X and watch: the modes that move are the ones worth being careful about.

Elsewhere