Image Compressor
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Upload an image and click any pixel to read its exact colour as HEX, RGB, HSL and CMYK. Click a value to copy it. The picture stays in your browser.
Updated
Your browser is preparing the tool. It runs 100% locally.
The Image Color Picker is an eyedropper for an uploaded image. Click any pixel and it reads that pixel's colour from a canvas and shows it as HEX, RGB, HSL and CMYK; click a value to copy it. It works in any browser and runs on your device, so the image is never uploaded. It reads one pixel at a time, in the sRGB colour space.
You upload a picture and click a spot on it. The tool reports the colour of that pixel in HEX, RGB, HSL and CMYK at the same time, and one click copies any of them to your clipboard.
A swatch picker makes you guess a colour. This one samples a real photo or graphic, so you can lift the colour straight out of a logo, screenshot, mockup or photograph.
The tool draws your image onto a canvas in the page. When you click, it maps the click position to the matching canvas pixel, reads that pixel's red, green and blue bytes with getImageData, and converts them to the other formats.
The code runs in JavaScript on your device. Your picture is not uploaded, and the tool behaves the same on a phone as on a desktop.
The tool samples pixel colours from a canvas in your browser. It sends the image to no server and keeps no copy of it.
When you close the tab, the image is cleared from memory. That makes the picker safe to use on unreleased artwork or private screenshots.
| Action | Upload, then click a pixel |
|---|---|
| Reads | Exact pixel colour via canvas getImageData |
| Outputs | HEX, RGB, rgb(), HSL, CMYK |
| Copy | Click any value |
| Colour space | sRGB |
| Large images | Scaled to 2000px on the longest side |
| Upload | None: the image is read in your browser |
It reads one pixel, not an average of an area. Neighbouring pixels can differ on a JPEG-compressed, noisy or anti-aliased edge, so click the middle of a flat area to get a representative colour.
Images up to 2000px on the longest side give you the exact source pixel. The tool scales larger images down for speed, so on those a picked colour is the displayed pixel, which blends a few nearby source pixels.
The canvas reads colour in sRGB. If your image carries a wide-gamut (Display-P3) profile, the values still come back as sRGB, so very saturated colours can differ slightly from what a colour-managed editor shows.
HEX, RGB and HSL are exact conversions of the pixel. The CMYK percentages are a profile-free approximation for rough print reference.
Fully transparent areas read as black (0, 0, 0) because the canvas has nothing behind them. Click an opaque part of the image instead.
Pull the exact HEX from a logo or a screenshot to reuse it elsewhere.
Lift a colour from a photograph to build a palette or design around it.
Read a colour from a mockup and drop the HEX or rgb() straight into CSS.
See what a colour really is, in four formats side by side.
To pick from a swatch rather than an image, use the Color Picker. To pull a whole palette from an image automatically, use the Color Palette Extractor. To sample anywhere on screen, use a Chromium browser's built-in eyedropper or a desktop tool.
Checked against the tool's code, which draws your image to a canvas and reads the clicked pixel with getImageData in sRGB. The page states the limits that follow from that: you get a single-pixel sample, very large images are scaled down, and the CMYK figures are a profile-free approximation.
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Resize an image to exact pixel dimensions in your browser, with the aspect ratio locked and a lossless PNG out.
Drag a box over the part of the picture you want to keep and download just that region as a lossless PNG.
Convert a PNG to a much smaller WebP in your browser, keeping transparency, at 92% quality.
Convert a JPG to a lossless PNG in your browser. Nothing more is lost from here on, though the JPEG's existing compression stays.
Turn a PNG into a smaller JPG in your browser. Transparent areas become white and the JPEG is saved at 92% quality.
Your file is processed on this device and never uploaded, and there's no account to create.