Bitcrush an Audio File
Drop the bit depth, hold samples for a lower effective rate, then blend the grit back with the original — processing runs locally in your browser.
About this tool
Bitcrush turns clean audio into deliberate digital grit. It first resamples the
audio to a fixed 48 kHz working rate, then holds samples to reach the requested
effective sample rate and quantises each sample to a smaller bit depth with
ffmpeg's acrusher filter. The result is the crunchy aliasing, stepped dynamics
and retro texture associated with old samplers, handheld games and lo-fi effects.
Example: upload a drum loop, leave bits = 8, set sample_rate_hz = 8000, keep
mix = 1, and export MP3 to get a fully crushed 8-bit-style loop. For a gentler
bed under vocals or synths, try bits = 12, sample_rate_hz = 16000, and
mix = 0.45 so the original signal remains audible underneath the crushed layer.
The requested sample rate snaps to the nearest divisor of 48,000 Hz because the underlying sample hold is a whole number of samples. For example, 22,050 Hz snaps to an effective 24,000 Hz. Inputs are limited to 10 MiB and embedded album-art video streams are discarded.
FAQ
What does bit depth change?
Lower bit depths mean fewer possible sample levels. A 16-bit setting is mild, 8-bit sounds like classic sampler crunch, and 4-bit or below becomes deliberately harsh digital distortion.
Why is the effective sample rate sometimes different from what I typed?
The filter holds each sample for a whole number of output samples after resampling
to 48 kHz, so rates snap to 48000 / N. The page accepts values from 192 Hz to
48 kHz and uses the nearest achievable hold count.
How do mix, drive and output gain work together?
drive pushes the signal into the quantiser before distortion, mix blends the
crushed signal with the original, and output_gain adjusts the level after the
crush. If a high drive setting clips, lower output gain instead of lowering drive.
Which audio formats can I export?
MP3 is the default. WAV and FLAC keep a lossless re-encode, OGG uses Vorbis, and M4A uses AAC. Browser decoding support for previews can vary by format, but the download is still generated by ffmpeg.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool bitcrush 'url=https://example.com/input' 'bits=8' 'sample_rate_hz=8000' 'mix=1' 'drive=1' 'output_gain=1' 'anti_alias=0.5' 'mode=lin' 'format=mp3'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/bitcrush/?url=https://example.com/input&bits=8&sample_rate_hz=8000&mix=1&drive=1&output_gain=1&anti_alias=0.5&mode=lin&format=mp3Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
