Convert audio for Whisper. 16 kHz mono WAV, one click.
Drop any audio or video file — MP3, M4A, MP4, OGG, FLAC, WAV. We output exactly what OpenAI Whisper, whisper.cpp, and faster-whisper want internally: 16-bit PCM WAV at 16 kHz, mono. No FFmpeg command to memorize, no Python script, no upload. The file never leaves your browser.
drop your audio or video here
Any common format. Output is always 16 kHz mono WAV — no options to pick.
Why this format, exactly
OpenAI's Whisper model was trained on 16 kHz mono audio. Every implementation — the official Python package, whisper.cpp, faster-whisper, MLX-Whisper — converts its input to 16 kHz mono internally before the first transformer layer. You can feed it 48 kHz stereo MP3 and it'll work, but the runtime spends extra cycles resampling and downmixing. For batch jobs, sensitive recordings, or the whisper.cpp CLI (which strictly requires 16-bit PCM WAV at 16 kHz), pre-converting is the clean answer.
Whisper input format spec
- Sample rate: 16,000 Hz
- Channels: 1 (mono)
- Bit depth: 16-bit signed PCM
- Container: WAV (RIFF)
- File size: ~1.9 MB per minute. The OpenAI Whisper API's 25 MB upload limit fits ~13 minutes of audio per request at this format. For longer files, chunk first with our Audio Cutter.
What this is good for
- whisper.cpp CLI — the most common error new users hit is "WAV file must be 16-bit PCM at 16 kHz." This page fixes that in one drop.
- OpenAI Whisper API uploads — staying under the 25 MB request limit by switching from MP3 stereo to 16 kHz mono WAV (smaller after a certain length, and skips server-side resampling).
- faster-whisper batches — pre-converting a directory of recordings cuts per-file overhead.
- Local privacy-first transcription — interviews, medical, legal, journalism. Convert in browser, run Whisper locally, audio never touches a remote server.
- iPhone voice memos → Whisper — .m4a in, 16 kHz mono WAV out, ready for transcription.
- YouTube/podcast clips → Whisper — drop the MP3 or video file, get the Whisper-ready WAV.
Command examples
Once you've downloaded the WAV:
# whisper.cpp
./main -m models/ggml-base.en.bin -f your-file.wav
# OpenAI Python package
whisper your-file.wav --model base.en
# faster-whisper (Python)
from faster_whisper import WhisperModel
WhisperModel("base.en").transcribe("your-file.wav")
FAQ
What audio format does Whisper expect?
16 kHz mono 16-bit PCM WAV. Higher rates and stereo are resampled and downmixed internally, so pre-converting saves runtime cycles and (for whisper.cpp) avoids hard format errors.
Why convert to mono?
Whisper is a speech model — it doesn't use stereo information. Mono cuts the file size in half and avoids decoding ambiguity in the C++ implementations.
Why 16 kHz?
Whisper was trained on 16 kHz audio. Anything higher gets downsampled. Lower would lose information the model expects.
Will this work with whisper.cpp?
Yes. whisper.cpp's CLI requires 16-bit PCM WAV at 16 kHz, which is exactly the output here. Run ./main -f your-file.wav and it'll work.
Will this work with the OpenAI Whisper API?
Yes. The API accepts MP3, M4A, WAV, and several others, but 16 kHz mono WAV uploads faster and is the canonical input. The 25 MB request limit covers about 4 hours of audio at this format.
What about ElevenLabs, Deepgram, AssemblyAI?
All accept this format too. Their docs may suggest other formats — most accept 16 kHz mono WAV as a safe lowest-common-denominator. Check each provider for any service-specific limits.
How big a file can I process here?
Around 500 MB input on a typical laptop — that's many hours of voice. For longer files, chunk with our Audio Cutter first.
Does my audio get uploaded?
No. The conversion runs entirely in your browser tab. Useful for interviews, medical, legal, or journalism recordings you don't want touching a third-party converter before they hit your model.