The Black and White Photo Converter transforms a local color image into a grayscale PNG by applying the W3C grayscale weights 0.2126 red, 0.7152 green, and 0.0722 blue to each pixel, rounded to the nearest 8-bit integer and written to all three color channels. The conversion is a deterministic, per-pixel canvas transform that runs entirely in your current browser tab — the file is decoded, the matrix is applied, and the PNG is encoded without uploading anything. The output keeps the original decoded width and height, copies the alpha channel unchanged so transparency is preserved, and produces a many-level grayscale image rather than a one-bit threshold. Inputs must be a local JPG, PNG, or WebP within the file and pixel limits defined by the shared image safety policy, which caps size at 25 MiB and bounds decoded dimensions. This is pixel-by-pixel processing rather than a perceptual artistic grade, a film stock emulation, a duotone, a halftone, or a non-destructive adjustment layer workflow.

how to convert black and white negatives in photoshop
how to convert black and white negatives in photoshop

The Grayscale Conversion Defined by a Documented Channel Matrix

Every output pixel is computed with one explicit formula: round(0.2126 × R + 0.7152 × G + 0.0722 × B). That formula is the same one the W3C Filter Effects specification defines for the grayscale() equivalent — see the W3C Filter Effects Module Level 1 specification. The Black and White Photo Converter uses those weights directly on the browser's decoded 8-bit channel values rather than relying on an unspecified CSS preview filter, so a pure red pixel becomes 54, a pure green pixel becomes 182, and a pure blue pixel becomes 18 once rounded to the nearest integer. Eight external test fixtures pin this exact behavior across black, white, neutral gray, the three RGB primaries, yellow, and cyan, so the result is fully deterministic and reproducible across machines and sessions.

This matters because most "convert to black and white" tools apply a perceptual or artistic look. The matrix here produces a many-level grayscale with up to 256 distinct values per channel, identical across runs. If you need a film stock emulation, a duotone, a halftone pattern, a one-bit threshold, or a non-destructive adjustment layer that lets you dial in red, yellow, green, cyan, blue, and magenta weights by eye, this tool is not the right tool — it produces one specific look, documented above.

What the Tool Actually Does to Each Pixel

The pipeline is straightforward and happens in your browser tab. First the file is decoded from JPG, PNG, or WebP into a bounded RGBA buffer at the same width and height. Then the tool iterates every pixel, computes the weighted gray value with the formula above, assigns that integer to the red, green, and blue channels, and copies the original alpha value to the output. The buffer is written back to a same-size canvas and the canvas is encoded as PNG. Invalid files, excessive dimensions, incomplete pixel data, missing canvas support, and empty outputs fail visibly so you never get a half-converted download. Temporary object URLs are revoked when replaced or unmounted, so nothing lingers in memory after you replace a file or close the tool.

Because the matrix is applied to the browser's decoded 8-bit channel values, the result is not a color-managed conversion. Color profiles, HDR metadata, wide-gamut precision, and print-specific black generation are not preserved. For quick web graphics, documents, slide decks, reference images, and simple monochrome assets, that is fine. For a press-ready print or a soft-proofing workflow that depends on a calibrated profile, you need a color-managed image editor rather than a browser pixel transform.

How to Convert an Image to Black and White Locally

  1. Open the Black and White Photo Converter in your browser and choose a local JPG, PNG, or WebP from your computer. Make sure the file is under 25 MiB and the decoded dimensions fall within the bounded pixel budget defined by the shared image safety policy.
  2. Select Convert to black and white. The tool draws the image to a same-size canvas, reads the full RGBA buffer, applies the W3C matrix to every pixel, writes the buffer back, and encodes the result as PNG. The whole transform runs locally — the file is not uploaded to any server.
  3. Verify the dimensions and appearance. The output PNG has the same decoded width and height as the original, and the alpha channel is copied unchanged, so transparent or partially transparent pixels keep their original opacity.
  4. Download the grayscale PNG. Use it directly in your document, slide, web page, or asset bundle.

If you have a scanned film negative rather than a positive image, remember that this tool applies grayscale weights to whatever you feed it. A negative has inverted tones plus an orange mask, so feeding a raw negative straight in will produce a gray negative rather than a positive black and white print. To convert a film negative to a positive black and white, invert the negative first in a full image editor or use a workflow that pairs inversion with grayscale — the browser-based grayscale guide walks through the same matrix on positive images and points at inversion tools when you need them.

Output Format, Size, and What Gets Preserved

The output is always a PNG, even when the input is a JPG or WebP. PNG is chosen because it is lossless and supports the alpha channel that the tool preserves. The decoded width and height of the output match the input exactly, so resizing is never applied silently. The alpha channel is copied unchanged per pixel — fully transparent pixels stay transparent, fully opaque pixels stay opaque, and partial transparency is retained at its original level.

What is not preserved: color profiles, EXIF metadata, GPS segments, HDR gain maps, wide-gamut precision, and print-specific black generation. The output PNG does not carry the source's metadata because the PNG is encoded from the transformed pixel buffer rather than copied from the source file. If you need to strip metadata from a JPG as well as convert, that is a separate step in a metadata-aware tool. For the typical use case — dropping a clean grayscale asset into a slide deck, a document, or a web page — that trade-off is exactly what you want.

PropertyInputOutput
File formatJPG, PNG, or WebPPNG (always)
Decoded dimensionsOriginal width × heightSame width × height
Red, green, blue channelsSource 8-bit valuesIdentical gray value per pixel from round(0.2126R + 0.7152G + 0.0722B)
Alpha channelSource opacity per pixelCopied unchanged
Color profile, EXIF, HDRAs embedded in sourceNot preserved
File size capUp to 25 MiBEncoded PNG, no fixed cap

When This Browser Tool Is the Right Choice

The tool is built for fast, private, deterministic grayscale conversions on everyday images. Use it for web graphics that need to be neutral, reference images for documentation, monochrome assets for slide decks, quick visual diffs that ignore color, and any case where you want every pixel mapped by the documented W3C matrix without layers, masks, or hand-tuned curves. Because nothing is uploaded, it is also a natural fit for drafts, internal screenshots, and any image you would rather not leave your computer.

It also pairs cleanly with the surrounding image toolkit. If your grayscale result needs to be smaller, run it through an image compressor. If it needs to be a different aspect ratio, crop it. If you need it as a JPG for a specific destination, convert the PNG with a JPG encoder. Each step runs locally, so the privacy and offline-friendly nature of the workflow survives across the whole pipeline.

When You Still Need Photoshop or Another Image Editor

Photoshop and other full image editors earn their keep the moment you need anything beyond the documented matrix. The Black & White adjustment layer in Photoshop lets you dial in custom weights per color, mix channels, and tune individual regions with masks. A non-destructive workflow with adjustment layers lets you revisit the conversion later. RAW development with a calibrated profile gives you a color-managed path from sensor data to print. Local contrast, dodge and burn, frequency separation, halftone effects, duotones, and film-emulation presets all live in full editors. For batch editing of hundreds of files, scripted actions and droplets are far faster than any browser tool.

If you are working from a scanned color negative and want a positive black and white image, the cleanest path is still a full editor. Invert the negative to recover the positive, optionally remove the orange mask by sampling the film base, and only then convert to black and white. The browser tool is the final grayscale step in that workflow, not a replacement for the inversion and color correction that film workflows need up front. For reference, MDN's documentation of filter grayscale() describes the same W3C formula and is a good reference if you want to see how the math works in CSS rather than a canvas transform.

For a one-shot, documented grayscale conversion on a regular photo or graphic, the Black and White Photo Converter does exactly that, locally, with no upload and no account.