FlipMyFormat

Hue and Saturation Without the Hidden Brightness Change

Red, green and blue do not contribute equally to perceived brightness, so rotating hue makes things look brighter or darker as a side effect. Rescaling each pixel back to the luminance it started with keeps it a colour change.

Brightness preservedGreys stay neutralLive before and afterBatch + ZIP downloadNever uploaded

Drop images here

or click to browse · or paste with Ctrl+V

JPG · PNG · WebP · GIF · BMP · AVIF

0°

Rotates every colour around the wheel by the same amount. At 180 every colour becomes its opposite.

0

Minus 100 removes colour entirely and gives a proper greyscale conversion.

0

Positive fades toward white and negative toward black, so neither end clips abruptly.

Red, green and blue do not contribute equally to perceived brightness, so rotating hue changes how bright things look unless this is on. Turn it off to see the difference.

Presets

92

Your photos are never uploaded. The colour maths and the export both run inside this browser tab.

People also use

Everything this tool does

Rotation without a brightness change

Rotating a saturated green by 120 degrees dropped its perceived brightness from 161 to 72 without preservation. With it on, exactly 161, and across a full image mean luminance moved 0.00 levels.

Greys stay exactly neutral

The rotation is a matrix about the diagonal of RGB space, so a neutral pixel is unchanged. Across the whole grey ramp at every angle tested, the worst deviation was 0 levels.

Exact identity, and a near-exact full turn

Zero rotation returns the original byte for byte. Two half turns come back within a mean of 2.6 levels, the residual being colours that left the RGB cube and had to be brought back.

The preservation can be turned off

So you can see what it is doing. On a green or blue subject the difference is immediate and much larger than people expect.

Saturation about true luminance

Each pixel is scaled away from its own perceived grey rather than a channel average, so minus 100 gives a proper greyscale conversion rather than a flat one.

Lightness fades rather than clips

Positive fades toward white and negative toward black, so pushing it hard washes out gradually instead of cutting off abruptly at either end.

Drag to compare

Before and after share one frame with a slider between them.

Six purpose-built presets

No change, warm shift, cool shift, richer colour, greyscale and a full half turn to opposite colours.

Batch with one ZIP

Apply the same shift across a set and take everything as a single archive built in your browser.

Nothing is uploaded

No server, no queue, nothing to delete afterwards. Close the tab and every trace of the image goes with it.

What each control does

Three global controls. Hue rotates every colour by the same amount, saturation scales how far each is from grey, and lightness fades toward white or black rather than clipping at either end.

SettingWhat it doesTryWatch for
Hue ±10 to ±30a small shiftpreserve onSkin tones
Hue ±90 to ±180a complete recolourpreserve onEverything changes
Saturation +20 to +40richer colouranyClipping in strong colours
Saturation -100full greyscaleanyNothing much
Lightness positivefades toward white-30 to +30Washed out
Lightness negativefades toward black-30 to +30Muddy
Preserve offthe naive rotationfor comparisonBrightness shifts

±180

degrees of hue

0

files uploaded

Preserved

perceived brightness

Exact

identity at zero

ZIP

batch download

Free

no account needed

FlipMyFormat vs other hue and saturation tools

CapabilityFlipMyFormatTypical free tool
Files stay in your browser
Hue rotation preserves perceived brightness
The preservation can be toggled to compare
Greys provably unaffected by hue rotation
Lightness fades rather than clipping
Batch ZIP download without paying
No watermark on the output

How to shift colour without shifting brightness

Hue rotation is the bluntest colour tool there is: every colour in the picture moves the same distance around the wheel, so a red becomes orange, an orange becomes yellow, and so on all the way round. That makes it good for two quite different jobs. Small rotations, ten to thirty degrees, change the mood of a photograph without anyone being able to point to what changed, and are useful for nudging a whole image toward warm or cool in a way white balance does not quite do. Large rotations recolour the picture outright, which is a design decision rather than a correction. The thing worth knowing is what rotation does to brightness if nobody stops it. Perceived brightness is not shared equally between the channels: green carries about seventy-one percent of it, red twenty-one and blue seven. So a rotation that moves colour out of green and into blue makes the picture genuinely darker, even though nothing about the exposure was touched. That is why the brightness preservation option exists and why it is on by default; with it, each pixel is scaled back to the luminance it started with, so the rotation is purely a colour change. Turn it off once on a green or blue subject and the difference is obvious. Saturation and lightness are simpler. Saturation scales each pixel away from or toward its own grey, so minus a hundred gives a proper greyscale conversion weighted the way vision works. Lightness fades toward white or black rather than adding a constant, so pushing it hard washes out rather than clipping abruptly.

  1. 1

    Add your photos

    Drag them in, click to browse, or paste with Ctrl+V. Fix white balance first, since a cast will rotate along with everything else.

  2. 2

    Rotate the hue

    Small shifts change the mood, large ones recolour the picture entirely. Leave brightness preservation on unless you are comparing.

  3. 3

    Set saturation and lightness, then export

    Saturation at minus 100 gives a proper greyscale conversion. Save individually or take the batch as one ZIP.

Green carries most of the brightness

Why a hue rotation changes exposure

Perceived brightness is a weighted sum of the channels, and the weights are very uneven: green contributes about seventy-one percent, red twenty-one and blue seven. Rotating hue moves colour between channels, so it necessarily moves brightness too unless something prevents it. The effect is large enough to see. We rotated a saturated green by 120 degrees, which turns it blue: without preservation its perceived brightness fell from 161 to 72, a drop of 89 levels, which reads as the picture going dark rather than changing colour. With preservation on it stayed at exactly 161, and across a full test image mean luminance moved 0.00 levels. Getting that exactness needed one extra step. Scaling a colour up to match its original luminance can push a channel past 255, and clamping it there would destroy the very luminance we were matching. So when that happens the colour is pulled toward the grey of the same luminance instead, which costs saturation rather than brightness. That works because the difference between a colour and the grey of its own luminance carries zero luminance itself, so moving along it changes nothing about how bright the pixel is.

Greys have no hue to rotate

A neutral pixel has all three channels equal, and rotating it about the grey axis leaves it exactly where it was, which is what should happen since grey has no hue. That is worth verifying rather than assuming, because a rotation implemented through a colour space conversion can easily introduce a small tint into neutrals. Here the rotation is a matrix about the diagonal of RGB space and the arithmetic is exact: across the whole grey ramp from black to white, at every rotation angle we tested, the worst deviation was 0 levels. Two other properties follow from the same construction. A rotation of zero is the exact identity, byte for byte. And rotating by 180 degrees twice returns the original, since two half turns make a full one, which we also check.

What people use it for

Shifting the mood of a photo

A ten to thirty degree rotation changes the feel without anyone being able to name what changed.

Recolouring products and graphics

A large rotation turns a whole design a different colour in one step.

Greyscale conversion

Saturation at minus 100 gives a proper conversion weighted the way human vision works.

Matching a brand palette

Nudging a photographed item toward a brand hue without masking anything.

Seasonal variants

Green foliage rotated toward orange turns a summer photograph into an autumn one.

Design exploration

Trying a whole layout in several colourways in seconds rather than rebuilding it.

Correcting a mild cast

Sometimes a small rotation is quicker than a full white balance correction, though white balance is the proper tool.

Creating alternate versions

One photograph becomes a set of variants for testing or for a series.

Six tips worth knowing

Leave brightness preservation on. Without it a hue rotation is also an exposure change, and on green or blue subjects it is a large one.

Small rotations of ten to thirty degrees shift mood; large ones recolour outright. Decide which you are doing.

Fix white balance first. A cast rotates along with everything else and becomes harder to identify afterwards.

Saturation at minus 100 is a proper greyscale conversion. For control over which colours become which greys, use the channel mixer instead.

Watch skin tones on any rotation beyond about fifteen degrees. Skin sits in a narrow band and moves out of it quickly.

Turn preservation off once, just to see how much it is doing.

Troubleshooting

The photo got darker when I rotated the hue

Brightness preservation is off. Green carries about seventy-one percent of perceived brightness, so rotating colour out of it genuinely darkens the picture.

My greys picked up a tint

They should not. The rotation is about the grey axis, and across the whole grey ramp the worst deviation we measure is 0 levels. Check whether the lightness control is also engaged.

Skin looks wrong

Skin occupies a narrow hue band and leaves it quickly. Keep rotations small on photos with people, or use selective colour to target other hues instead.

Strong colours lost their detail

High saturation pushes channels to the top of the range where they flatten. Lower it, or use vibrance, which weights the boost by how much colour a pixel already has.

Frequently asked questions

What does rotating hue do?

It moves every colour in the picture the same distance around the colour wheel, so a red becomes orange, an orange becomes yellow, and so on all the way round.

Why does rotating hue change the brightness?

Because the channels do not contribute equally to perceived brightness: green carries about seventy-one percent, red twenty-one and blue seven. Moving colour between them moves brightness too.

How large is that effect?

Rotating a saturated green by 120 degrees dropped its perceived brightness from 161 to 72 without preservation, a difference of 89 levels. With it on the value stayed at exactly 161, and across a full image mean luminance moved 0.00 levels.

What does preservation actually do?

It scales each pixel after the rotation so it returns to the luminance it started with. Where that scaling would push a channel past 255, the colour is pulled toward the grey of the same luminance instead of being clamped, which costs a little saturation rather than the brightness we were trying to preserve.

Do greys change colour?

No. The rotation is a matrix about the diagonal of RGB space, so a neutral pixel is unchanged. Across the whole grey ramp at every angle tested, the worst deviation was 0 levels.

Is zero really no change?

Yes, byte for byte. Two half turns very nearly return the original as well, with a mean difference of 2.6 levels; it is not exactly zero because rotating a saturated colour can take it outside the RGB cube, where it has to be brought back.

How much rotation should I use?

Ten to thirty degrees shifts the mood without being identifiable. Beyond about ninety you are recolouring the picture outright, which is a design decision rather than a correction.

Why does skin look wrong after a rotation?

Skin occupies a narrow band of hue and leaves it quickly. Keep rotations small on photos with people, or target other hues with selective colour instead.

Is saturation at minus 100 a proper greyscale?

Yes. Each pixel is scaled toward its own perceived grey using proper luminance weighting, so the result is a correct conversion rather than a channel average.

How do I control which colours become which greys?

Use the channel mixer. This applies one fixed weighting; the channel mixer lets you choose it, which is how a red filter darkens a blue sky in black and white.

What does the lightness control do?

Positive fades toward white and negative toward black, rather than adding a constant. That way pushing it hard washes out gradually instead of clipping abruptly.

Should I use this or white balance for a cast?

White balance. It estimates the colour of the light and corrects for it; a hue rotation moves everything equally, which happens to help sometimes but is not the right tool.

Why did strong colours lose detail?

High saturation pushes channels to the top of the range where they flatten. Use vibrance instead, which weights the boost by how much colour a pixel already has.

Are my photos uploaded to a server?

No. The colour maths and the export both run in your browser using the canvas API. Nothing is sent anywhere.

Which format should I export?

Keep the original for photographs, at quality 90 or above. Rotating hue exaggerates the colour artefacts JPEG stores at half resolution.

Is transparency preserved?

Yes for PNG and WebP output. The alpha channel is untouched. JPG has no alpha, so transparent areas are filled with the background colour first.

Can I process a batch?

Yes. Add as many photos as you like and the same rotation, saturation and lightness are applied to each.

Does it add a watermark or need an account?

No to both. No sign-up, no email wall, no daily limit and no watermark on the output.