How to convert telegram voice notes to mp3 — no upload
- Step 1Download the voice note from Telegram — Telegram Desktop: right-click the voice message → Save As, or open it and use the download icon — you get a
.oggfile. Telegram Web: click the message → download. On mobile, forward it to Saved Messages, open Telegram Desktop, and save from there. - Step 2Open the Telegram-to-MP3 converter — This is the
opus-to-mp3tool — the same engine for all Opus voice sources. It converts one file per run. - Step 3Drop the .ogg onto the dropzone — Drag the downloaded
.ogg(or.opus) in, or click to browse. FFmpeg 8.1 loads into the tab on first use, then decodes the Opus stream locally — no upload. - Step 4Pick the bitrate — Choose from 320k · best, 256k, 192k · default, 128k · podcast, 64k · voice. A Telegram note is 32–64 kbps Opus, so 128k is transparent and 64k is smallest.
- Step 5Convert — Run it. FFmpeg executes
-c:a libmp3lame -b:a <bitrate> -map_metadata 0 -id3v2_version 3and produces the MP3 in-tab. A typical note converts in well under a second. - Step 6Download the MP3 — Save it. The Stat row shows input vs output bytes. The original
.oggis untouched and was never sent off your device.
Telegram voice formats and how they convert
Telegram's standard download is Opus-in-Ogg with an .ogg extension. FFmpeg reads the codec from the stream, so naming never blocks the conversion.
| Source | Extension | Codec / container | Converts here? |
|---|---|---|---|
| Telegram Desktop voice download | .ogg | Opus in Ogg | Yes — primary case |
| Voice file renamed to .opus | .opus | Opus in Ogg | Yes — same path |
| Saved via a third-party client | .webm | Opus in WebM | Yes — WebM demuxed |
| Telegram music/audio file (not a voice note) | .mp3 / .m4a | MP3 / AAC | MP3 is already done; for AAC use m4a-to-mp3 |
| Round video note (video message) | .mp4 | H.264 + Opus/AAC | Use video-to-mp3 to extract the audio |
Bitrate choice for a 32–64 kbps Telegram note
The note is already lossy Opus, so re-encoding above ~128 kbps adds size without audible benefit.
| Bitrate | Use | Size / minute (mono) | Quality vs source |
|---|---|---|---|
| 64k · voice | Smallest, transcription input | ~480 KB | Transparent |
| 128k · podcast | Default sweet spot | ~960 KB | Transparent |
| 192k · default | Note with music/ambience | ~1.4 MB | No further loss to recover |
| 256k / 320k | Maximum-headroom archive | ~1.9 / 2.4 MB | Diminishing returns on a 64 kbps source |
Per-file limits by tier
Duration (durationMin) and file size are capped independently. Long recorded-call notes hit the duration cap first.
| Tier | Max size | Max duration | Files / run |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro + Media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | Unlimited |
Cookbook
Real Telegram voice-note conversions with the exact FFmpeg command and before/after sizes. Names anonymised.
A standard Telegram voice download
The everyday case: a .ogg saved from Telegram Desktop that you want to transcribe. 128 kbps is transparent for a 48 kbps Opus note.
Input: voice_2026-03-09.ogg (48 kbps Opus, mono, 1:12) Bitrate: 128k · podcast FFmpeg: -i in.ogg -c:a libmp3lame -b:a 128k -map_metadata 0 -id3v2_version 3 out.mp3 Output: voice_2026-03-09.mp3 (128 kbps, ~860 KB) → ready for any transcription uploader.
Smallest possible MP3 for transcription
Many transcription tools only need intelligible speech. 64 kbps · voice produces the smallest MP3 this tool offers and is indistinguishable from the source for speech.
Input: voice.ogg (32 kbps Opus, 3:20) Bitrate: 64k · voice Output: voice.mp3 (~1.6 MB) — half the size of 128k, same words.
A round video note — extract the audio instead
Telegram's circular 'video messages' are MP4 (video + audio). This Opus converter is audio-only; to pull the speech out, use the video-to-mp3 sibling.
Input: video_note.mp4 (H.264 + Opus/AAC) This tool: audio-only, expects an Opus audio file. Fix: use the video-to-mp3 tool — it extracts the audio track to MP3.
Long recorded call saved as one note
A recorded call or stitched thread can exceed the free-tier 30-minute cap. Pro raises it to 120 minutes; otherwise split first.
Input: call.ogg (47 min, 14 MB) Free tier: durationMin = 30 → rejected Fix: Pro (120 min) converts directly, or split with audio-splitter first.
File renamed to .opus by a client
Some clients save Telegram voice as .opus. Same Opus-in-Ogg stream, same path — the rename changes nothing about the conversion.
Input: message.opus (Opus, 0:54) Bitrate: 128k Output: message.mp3 — identical result to the .ogg version.
Edge cases and what actually happens
Downloaded file is .ogg, not .opus
SupportedTelegram's standard voice download is Opus inside an Ogg container with a .ogg extension. That's the expected input — FFmpeg reads Opus from the Ogg stream and converts it to MP3. No renaming needed.
It's a round video note, not a voice note
Wrong toolTelegram's circular video messages are MP4 with a video track. This Opus converter is audio-only and expects an audio file. Use the video-to-mp3 tool to extract the audio track to MP3 instead.
Note longer than 30 minutes on the free tier
Reject (free)Free enforces durationMin = 30. A recorded call or stitched note over 30 minutes is rejected before encoding. Pro raises to 120 minutes; Pro + Media removes the cap. Or split with audio-splitter first.
The .ogg is actually Vorbis (rare for voice)
SupportedIf a file is Vorbis-in-Ogg rather than Opus, FFmpeg still decodes it and produces MP3. Telegram voice is Opus, but the tool doesn't reject other Ogg-wrapped codecs.
Mono note stays mono
By designTelegram voice is mono. This path has no channel control, so the MP3 stays mono — correct for speech. Use mono-to-stereo afterwards only if a downstream tool insists on stereo.
Truncated download won't decode
Decode errorAn interrupted Save (network blip) leaves an incomplete Ogg stream; FFmpeg can't find a valid first packet and reports an error rather than emitting empty audio. Re-download the message and retry.
Output sounds identical at 64k and 320k
ExpectedA 32–64 kbps Opus source has no detail above its perceptual ceiling, so a higher MP3 bitrate can't add fidelity — only file size. 64–128 kbps is the right range for a Telegram note.
Several voice messages at once on free
One per runThis converter is single-file and the free tier is one file per run. Convert messages individually, or use Pro (10 files per run) for a thread's worth of notes.
Embedded thumbnail/metadata
PreservedAny tags or attached picture in the source are carried into the MP3 via -map_metadata 0 and the cover-art mapping. Nothing is stripped during conversion.
Frequently asked questions
How do I download a Telegram voice message to convert it?
On Telegram Desktop, right-click the voice message and choose Save As (you get a .ogg). On Telegram Web, use the download icon. On mobile, forward it to Saved Messages, then save it from Telegram Desktop. Drop that .ogg onto this tool.
Why is the download a .ogg and not a .opus?
Telegram wraps the Opus audio in an Ogg container and uses the .ogg extension. The codec inside is still Opus. FFmpeg reads it correctly either way, so you don't need to rename it.
Is my conversation uploaded anywhere?
No. The voice message is decoded and re-encoded to MP3 entirely in your browser via FFmpeg 8.1 (WASM). It runs on your CPU and never reaches a server, so private chats stay private.
What bitrate is best for a Telegram note?
128 kbps · podcast is transparent for a 32–64 kbps Opus note and stays small. Use 64 kbps · voice for the smallest transcription input, or 192 kbps if the note has background music.
Will the MP3 sound worse than the original?
Not audibly. The only loss is the single decode-then-encode step, which is inaudible for speech at 128 kbps. The original Opus compression already set the quality ceiling — MP3 isn't the bottleneck.
How do I convert a round video message?
Those are MP4 video, not audio files. Use the video-to-mp3 tool to extract the speech track to MP3. This Opus converter handles audio files only.
Can I convert a long recorded call?
Up to 30 minutes on the free tier and 120 minutes on Pro. Pro + Media removes the duration cap. For a long call on the free tier, split it first with the audio-splitter tool.
Does it keep mono or convert to stereo?
It keeps mono — Telegram voice is mono and this path has no channel control. If a downstream app demands stereo, run the MP3 through the mono-to-stereo tool.
Can I batch a whole thread of voice notes?
Free is one file per run; Pro allows 10 per run, Pro + Media 100. Convert individually on the free tier, or upgrade to batch a thread.
The file won't convert — why?
Usually a truncated download. If the Save was interrupted, the Ogg/Opus stream is incomplete and FFmpeg can't decode it. Re-download the message from Telegram and try again.
Why did the first conversion take a moment?
The FFmpeg WASM engine loads into the tab once per session. Subsequent conversions are fast and reuse it. It's a local warm-up, not an upload.
Where are the WhatsApp and Discord versions?
Same engine, with platform-specific export steps: WhatsApp at /audio-tools/solutions/convert-whatsapp-voice-to-mp3 and Discord at /audio-tools/solutions/discord-voice-to-mp3-browser. For any other Opus file, see /audio-tools/solutions/opus-to-mp3-converter-browser.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.