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.

Try:
Bitcrushed audio

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=mp3

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.