Home Tools Blog About

Convert WebP to Grayscale

In short

Convert WebP images to grayscale with Rec 601/709 or average algorithm, quality slider, side-by-side preview. Free, client-side.

  • Runs in your browser
  • Nothing uploaded
  • Free, no sign-up

Convert a WebP image to grayscale in the browser. Choose between Rec 601 Luma (NTSC standard), Rec 709 Luminance (sRGB/HDTV), or simple average. The converter waits for the image to fully decode before processing, so even large photos convert reliably.

Original / Grayscale

Original Original WebP
Grayscale Grayscale output
Drop a WebP to begin.
🛡
100% PrivateNo server uploads, ever
InstantRuns in your browser
💧
No WatermarksClean output, always
🆓
Free ForeverNo accounts, no limits

How to Use Convert WebP to Grayscale

  1. Drop a WebP file or click to open the picker.
  2. Pick algorithm: Rec 601 matches old TVs / VHS / JPEG; Rec 709 matches modern sRGB / HDTV / web colour spaces; Average is the naïve formula (perceptually inaccurate but useful for non-photographic content).
  3. Adjust the quality slider for the output WebP encoding (default 0.9 ≈ visually lossless).
  4. Compare original and grayscale side by side. Re-process with a different algorithm to see the difference.

Frequently Asked Questions

Why does the tool wait for the image to load before converting?

Image decoding is asynchronous in the browser. Reading the dimensions too early would give a 0×0 canvas and a blank result, so the tool waits for the decode to finish, then sizes the canvas and applies the grayscale math to every pixel.

What’s the difference between Rec 601 and Rec 709?

Different weights for R/G/B reflecting different colour primaries. Rec 601 (0.299R + 0.587G + 0.114B) was derived for NTSC TV phosphors in 1953 and lives on in JPEG / MPEG-2. Rec 709 (0.2126R + 0.7152G + 0.0722B) reflects modern sRGB / HDTV primaries – more accurate for content authored on modern displays. For photos shot on a modern camera and displayed on a modern monitor, Rec 709 is correct; for legacy SDR content, Rec 601 matches what colour-correction tooling expected.

Why is “average” listed if it’s perceptually inaccurate?

Useful for non-photographic content (technical diagrams, vector art, screenshots of text) where matching human luminance perception doesn’t matter – you just want any single-channel projection. It’s also the simplest formula to explain in tutorials.

Why does the alpha channel stay unchanged?

Grayscale conversion is a colour operation, not a transparency operation. Pixels that were 50% transparent stay 50% transparent; only their RGB values get collapsed to the equivalent gray.

What if my browser doesn’t write WebP?

Safari before iOS 14 and some older Firefox versions don’t support canvas.toDataURL('image/webp'). In that case, the browser falls back to PNG (the default for unrecognised types). The stats line reports the actual output format. Download will use the correct extension.

How does this compare to a CSS filter: grayscale()?

CSS filter is for display only – the source image stays full colour, the browser just renders it desaturated. This tool produces an actual grayscale file you can save and reuse. CSS filter also uses a hardcoded sRGB-style formula and doesn’t let you choose between algorithms.

Is my image uploaded?

No. All image processing happens through the Canvas API inside your browser – nothing is sent to a server, logged, or stored, and the tool keeps working offline once the page has loaded.

What’s the max file size?

10 MB. Bigger files work in principle but get slow to read and decode in the main thread. For very large images, a Web Worker would be better – out of scope for this tool.

Why’s the output file size smaller than the input?

Grayscale images compress more efficiently than colour: the WebP encoder spends fewer bits on chrominance channels that are now constant. A 1 MB colour WebP often becomes a 400-700 KB grayscale WebP at the same quality setting.

Magic-byte validation?

The tool checks bytes 0-3 for RIFF (52 49 46 46) and bytes 8-11 for WEBP (57 45 42 50) – the standard WebP file signature per RFC 6386. Files that just have the .webp extension but contain something else are rejected.

Keep going

Related Tools

All Webp tools →
Share

Embed this tool

Add this free tool to your website. Copy and paste the code: