Make someone sound naughty 😈 or make your content more Ad-friendly.
Bleep That Sh*t! lets you instantly transcribe and censor words in your audio or video files, with full control over what gets bleeped. No uploads, no servers, no installs — everything happens right in your browser.
The current in-browser implementation works for clips of length 10 minutes or less.
- Upload your audio (MP3) or video (MP4) file.
- Transcribe using Whisper ONNX models (transformers.js) — all in-browser.
- Censor: Pick words to bleep (exact, partial, or fuzzy match).
- Preview & Download: Hear the result and save your censored file.
All processing is done locally in your browser. Your media and transcripts stay private — nothing is sent to a server.
Some examples of the end product (make sure to turn volume on, its off by default).
bleep-that-sht-examples.mp4
Let's look more closely at the last example above - below is a short clip we'll bleep out some words from using the pipeline in this repo. (make sure to turn on audio - its off by default)
bleep_test_og_cropped_low_res.mp4
Now the same clip with the words - "treetz", "ice", "cream", "chocolate", "syrup", and "cookie" - bleeped out
bleep_test_processed_cropped_low_res.mp4
Just open the app in any modern browser — no installation or setup required.
Visit the deployed app at https://neonwatty.github.io/bleep-that-shit/ or run it locally.
- Upload audio or video files
- Select language and Whisper model
- Transcribe to generate word-level timestamps
- Enter words to censor with multiple matching modes (exact, partial, fuzzy)
- Choose from different bleep sounds
- Preview and download the censored result
- Compare transcription accuracy across different Whisper models
- Test processing speeds
- Find the best model for your needs
- Node.js 18+
- npm or yarn
-
Clone the repository:
git clone https://github.com/neonwatty/bleep-that-shit.git cd bleep-that-shit -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm test # Run Playwright tests
npm run test:ui # Run tests with UI- Modern browser with WebAssembly support
- Web Workers support
- Sufficient RAM for model loading (varies by model size)
- Tiny (39 MB): Fastest, good for quick processing
- Base (74 MB): Better accuracy, still fast
- Small (242 MB): Best accuracy, slower processing
Both English-only and multilingual variants are available.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Transformers.js for WebAssembly Whisper models
- FFmpeg.wasm for media processing
- OpenAI Whisper for the original models
For issues and questions, please open an issue on GitHub.