Staaarter

GIF Black and White Converter

Uploads an animated GIF, decodes every frame, and thresholds each pixel's perceptual luminance against a chosen cutoff so it becomes pure black or pure white (never gray), then re-encodes a new animated GIF, all in your browser. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
editorcolorimageanimationgif

Overview

Introduction

This tool reduces every frame of an animated GIF to pure black and white, entirely in your browser, using a single luminance threshold you control.

It's a fast way to produce a stark, high-contrast animation from a normal-color source GIF.

What Is GIF Black and White Converter?

A client-side GIF thresholding tool: every decoded frame's pixels are converted from RGB to a single luminance value, then compared against a threshold to decide pure black or pure white.

It reuses the same perceptual luminance weighting (ITU-R BT.601) as the PNG category's equivalent tool, so results feel consistent across the whole site.

How GIF Black and White Converter Works

The GIF is decoded frame by frame into RGBA pixel buffers using the shared codec, respecting the source file's disposal methods.

For each pixel, luminance is computed as 0.299R + 0.587G + 0.114B; values at or above the threshold become (255,255,255), values below become (0,0,0), and the frame's original alpha is left untouched before every frame is re-encoded into a new GIF.

When To Use GIF Black and White Converter

Use it to create a stark, high-contrast version of an animated logo or icon for print or laser engraving prep.

It's also useful as a quick visual check of which parts of an animation are 'light' versus 'dark' at a given cutoff.

Features

Advantages

  • Produces a clean, exactly-two-color result with no partial grays anywhere in the animation.
  • The threshold is a single, easy-to-reason-about number rather than a multi-step gradient adjustment.
  • Preserves transparency and animation timing exactly.

Limitations

  • A single global threshold can't adapt to frames with very different lighting; some frames may end up mostly white or mostly black at the same cutoff.
  • There's no dithering, so fine gradients collapse into hard, sometimes jagged-looking edges rather than a smoother halftone pattern.

Examples

Threshold a mid-tone animation

Input

A gray-toned pulsing icon GIF, threshold 128

Output

The same animation reduced to pure black and white with a sharp cutoff at mid-gray

Pixels brighter than mid-gray become white; darker pixels become black, with no remaining gray values.

Best Practices & Notes

Best Practices

  • Start with the default threshold of 128 and adjust up or down while watching the preview until the shapes you care about read clearly.
  • If a mostly dark GIF turns almost entirely black, lower the threshold rather than assuming the tool failed.
  • Use GIF Grayscale Converter instead if you want to preserve shading detail rather than force a hard cutoff.

Developer Notes

The per-frame conversion is a pure function operating on a single decoded PixelBuffer, mapped independently over every frame by the component; it deliberately reimplements the PNG category's luminance-threshold formula locally rather than importing that category's tool file, keeping the gif category's lib self-contained.

GIF Black and White Converter Use Cases

  • Prepping an animated logo for a context that only supports pure black/white output
  • Creating a stark, high-contrast stylized version of a normal-color GIF
  • Quickly visualizing the light/dark structure of an animation at a chosen brightness cutoff

Common Mistakes

  • Assuming this behaves like grayscale conversion; it always produces exactly two colors, never intermediate grays.
  • Not adjusting the threshold for unusually bright or dark source footage, leading to an all-white or all-black result.

Tips

  • If edges look too jagged, try GIF Ditherer for a textured alternative that reads as smoother from a distance.
  • Sample a few representative frames' brightness before picking a threshold for the whole animation.

References

Frequently Asked Questions