Skip to main content

Audio converter online

Convert between audio formats — MP3, WAV, OGG, FLAC, AAC, Opus — with full control over bitrate, sample rate, and channels.

Free & unlimited
All processing happens in your browser — files never leave your device. The audio engine loads once from a CDN.

A general-purpose audio converter that runs ffmpeg in your browser rather than on a server. It takes MP3, WAV, OGG, FLAC, AAC, M4A, Opus and AIFF in, and writes MP3 (libmp3lame), WAV (PCM), OGG Vorbis, FLAC, AAC or Opus out. You control the encoder directly: bitrate from 64 to 320 kbps, constant or variable for MP3, sample rate from 8 kHz to 96 kHz, mono or stereo, FLAC compression level, whether to strip metadata, and whether to apply an EBU-style loudness pass at -16 LUFS on the way through. Eight presets set all of that in one tap for podcast, music, streaming, voice memo, CD, web, VoIP and audiobook targets.

Key facts about Audio converter online

Key facts about Audio converter online
Output encodersMP3 via libmp3lame, OGG via libvorbis, Opus via libopus, plus native FLAC, AAC and PCM WAV
Accepted inputMP3, WAV, OGG, FLAC, AAC, M4A, Opus, AIFF, up to 200 MB
Bitrates64, 96, 128, 192, 256 and 320 kbps; the engine accepts anything from 8 to 320 and defaults to 192
MP3 VBRThe variable-bitrate toggle switches libmp3lame to quality level 2, roughly 190 kbps average
Sample rates8 kHz, 22.05 kHz, 44.1 kHz, 48 kHz and 96 kHz, or leave the source's own
WAV bit depth16-bit, 24-bit or 32-bit float, selected per conversion
FLAC compressionLevels 0 to 12, default 5 — higher levels are slower to encode and identical on playback
Optional loudness passloudnorm at I=-16 LUFS, TP=-1.5 dBTP, LRA=11 when normalization is switched on
MetadataTags are carried across by default; switching preservation off maps metadata away entirely
PresetsPodcast (MP3 128 mono), Music HQ (FLAC 48 kHz), Streaming (AAC 192), Voice memo (MP3 96 at 22.05 kHz), CD (WAV 44.1 stereo), Web (OGG 128), VoIP (Opus 64 mono), Audiobook (AAC 96 mono)

What happens to your file

The conversion runs on ffmpeg compiled to WebAssembly inside a Web Worker in this tab. Your file is written into that worker's in-memory filesystem, encoded, and read back as a blob — it is never sent to a server, and there is no account, queue or storage involved. One network request does happen: the first time you use any audio tool here, the browser downloads the ffmpeg core (about 32 MB) from the jsDelivr CDN and caches it. That is a fixed public asset, the same bytes for everyone, and it carries nothing about your file.

About this tool

  1. 1

    Add your file

    Drop an MP3, WAV, OGG, FLAC, AAC, M4A, Opus or AIFF up to 200 MB. The page shows duration, size and codec once it has read the header.

  2. 2

    Pick a preset or a format

    The eight presets set format, bitrate, sample rate and channels together. Otherwise choose the output format yourself — MP3 for compatibility, FLAC or WAV for lossless, Opus for the best quality per kilobyte.

  3. 3

    Set the quality

    For lossy formats choose a bitrate, or switch MP3 to VBR. For FLAC pick a compression level. For WAV pick a bit depth. Higher is not always better: 320 kbps MP3 from a 128 kbps source gains nothing.

  4. 4

    Adjust sample rate and channels if needed

    Leave both on source unless you have a reason. Downmixing to mono halves the file size for speech; dropping to 22.05 kHz halves it again at the cost of everything above 11 kHz.

  5. 5

    Convert

    Progress is reported as a percentage while ffmpeg runs in the worker. You can cancel at any time.

  6. 6

    Download

    The result is a blob in your own tab. Play it back in the built-in player before downloading if you want to check the encode.

Specs & compatibility
Input formatsMP3, WAV, OGG, FLAC, AAC, M4A, Opus, AIFF
Output formatsMP3, WAV, OGG Vorbis, FLAC, AAC, Opus
Maximum file size200 MB — input, decoded audio and output all live in one ~2 GB WebAssembly heap
EngineSingle-threaded ffmpeg.wasm, GPL build, core version 0.12.10
Engine download~32 MB, fetched once from the CDN and cached across every audio tool here
SpeedSeveral times slower than native ffmpeg because it is single-threaded WebAssembly; a five-minute track is typically a few seconds to under a minute
BrowsersChrome, Edge, Firefox and Safari 15+; WebAssembly and Web Workers required
CancellationStopping terminates the worker immediately; the engine reloads from cache on the next run
  • Converting lossy to lossy always costs quality. MP3 to AAC decodes and re-encodes, so artefacts from the first encode get baked in and new ones added.
  • Converting lossy to FLAC or WAV does not restore anything. It makes the file much larger while preserving exactly the quality the MP3 already had.
  • Opus at 64 kbps genuinely beats MP3 at 128 kbps for speech, which is why the VoIP preset uses it. Support is universal in browsers and patchy in car stereos.
  • FLAC compression level changes encoding time and file size by a few percent, never the audio. Level 5 is the sensible default; level 12 is a long wait for very little.
  • Leave metadata preservation on unless you are deliberately stripping tags for privacy — it carries artist, album and artwork across the conversion.
  • The normalization toggle applies a fixed -16 LUFS loudnorm pass. For control over the target, use the audio normalizer instead and convert afterwards.
  • 44.1 kHz is CD and music standard; 48 kHz is video standard. Matching the target platform avoids a resample later in the chain.
  • Six output formats: MP3, WAV, OGG Vorbis, FLAC, AAC and Opus
  • Bitrate from 64 to 320 kbps, with MP3 VBR
  • Sample rate selection from 8 kHz to 96 kHz
  • Mono, stereo or source channel layout
  • 16, 24 or 32-bit float WAV output
  • FLAC compression levels 0 to 12
  • Optional -16 LUFS loudness pass during conversion
  • Eight one-tap presets from podcast to VoIP
  • Turning a FLAC collection into MP3s that fit on a phone or in a car stereo
  • Converting a voice memo to a small mono MP3 before emailing it
  • Producing a 48 kHz WAV to drop into a video edit without a resample
  • Making an Opus version of a podcast episode for bandwidth-limited listeners
  • Downmixing a stereo interview to mono to halve the file size with no quality cost
  • Re-encoding a WAV export from a DAW to AAC for a streaming upload
MP3 if the file has to play anywhere, including old car stereos and hardware players. AAC if the target is Apple devices or a streaming upload, where it beats MP3 at the same bitrate. Opus if you control playback and want the best quality per kilobyte, particularly for speech. FLAC for archiving, when you want lossless at roughly half the size of WAV. WAV only when a program needs uncompressed PCM — a DAW import, a game engine, or a step that will re-encode anyway.
No. Lossy encoding discards information permanently; nothing downstream can bring it back. Converting an MP3 to FLAC produces a lossless copy of the already-damaged audio, typically five to ten times larger, with exactly the same sound. The only reason to do it is a workflow that refuses lossy input. If you want a good-sounding lossless file, you need to go back to the original recording or a lossless source and convert from there.
200 MB. That number is a memory budget, not a business rule. ffmpeg.wasm holds the input file, its decoded audio and the output all in a single WebAssembly heap of roughly 2 GB, and a compressed file expands several times over when decoded — a 200 MB FLAC can become well over a gigabyte of PCM in flight. The cap is set where conversions reliably complete rather than crashing the tab. For most audio it is generous: 200 MB covers several hours of MP3.
No, only to lossy ones. For MP3, OGG, AAC and Opus the bitrate control sets the target rate, and for MP3 you can switch to VBR instead. FLAC ignores it entirely — a lossless codec's size is determined by the content and the compression level, not by a rate you pick. WAV ignores it too; its size follows from sample rate, bit depth and channel count. The interface hides the control when the selected format has no use for it.
No. The encoding happens in ffmpeg compiled to WebAssembly, running in a Web Worker on your own device. Your audio is written into that worker's in-memory filesystem and read back as a blob; it never touches a network connection. The single request involved is the browser fetching the ffmpeg core itself — about 32 MB of fixed public code from the jsDelivr CDN, cached afterwards and shared with every other audio tool here. That download is the same for every visitor and contains nothing of yours.
Because it is single-threaded WebAssembly in a browser tab rather than native code across every core of your CPU. The multithreaded build of ffmpeg.wasm needs SharedArrayBuffer, which requires cross-origin isolation headers that would break other parts of this site, so the single-threaded core is used deliberately. Expect roughly a few times slower than a native ffmpeg run. In exchange, your file never leaves your machine and there is no upload, queue or download round trip.
View all

Part of Audio tools that run in your browser

Updated

We use anonymous analytics to improve ToolChamp. No personal data is stored or sold. Privacy Policy