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.
Drop images here
or click to browse · or paste with Ctrl+V
JPG · PNG · WebP · GIF · BMP · AVIF
Rotates every colour around the wheel by the same amount. At 180 every colour becomes its opposite.
Minus 100 removes colour entirely and gives a proper greyscale conversion.
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
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.
| Setting | What it does | Try | Watch for |
|---|---|---|---|
| Hue ±10 to ±30 | a small shift | preserve on | Skin tones |
| Hue ±90 to ±180 | a complete recolour | preserve on | Everything changes |
| Saturation +20 to +40 | richer colour | any | Clipping in strong colours |
| Saturation -100 | full greyscale | any | Nothing much |
| Lightness positive | fades toward white | -30 to +30 | Washed out |
| Lightness negative | fades toward black | -30 to +30 | Muddy |
| Preserve off | the naive rotation | for comparison | Brightness 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
| Capability | FlipMyFormat | Typical 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
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
Rotate the hue
Small shifts change the mood, large ones recolour the picture entirely. Leave brightness preservation on unless you are comparing.
- 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.