> base64 | audio | play <

// Decode a Base64 audio string and play it instantly with a waveform preview

[PLAY]

Native HTML5 Audio

Decoded audio is loaded into a standard <audio controls> element with play, pause, seek, and volume. Browser-based, no upload, no plugins required.

[DETECT]

MIME Auto-Detection

Sniffs magic bytes (ID3, 0xFFFB, RIFF/WAVE, OggS, ftyp, fLaC) to pick the right MIME automatically. Manual override is available.

[WAVE]

Waveform Preview

Renders a primitive waveform on a canvas using AudioContext.decodeAudioData when the format is supported. 100% client-side, instant.

// ABOUT BASE64 AUDIO

How It Works:

Per RFC 4648 (Base64) we strip any RFC 2397 data: prefix, atob() the payload to a Uint8Array, sniff magic bytes for the MIME, and build a Blob. The Blob feeds the standard MDN Audio element via an object URL and AudioContext.decodeAudioData for the waveform render.

Example:

data:audio/mpeg;base64,SUQzAwAAAAAAI1RTU0UAAAAPAAADTGF2…

Common Use Cases:

  • >Debug audio responses from text-to-speech APIs
  • >Inspect Base64 voice memos or notifications
  • >Verify audio embedded in JSON payloads
  • >Listen to audio attachments without saving
  • >Extract clips from API responses for review

>> frequently asked questions

Q: Which audio formats are supported?

A: Whatever your browser can play. Modern browsers cover MP3 (audio/mpeg), WAV (audio/wav), OGG/Vorbis, M4A/AAC and (in many cases) FLAC. Per the MDN Audio element documentation, format support varies by browser and platform. The waveform render specifically depends on AudioContext.decodeAudioData, which is broadest for MP3, WAV and OGG.

Q: How does MIME auto-detection work?

A: We inspect the first few bytes of the decoded payload. ID3 tags or the 0xFF 0xFB sync pattern indicate MP3; RIFF + WAVE indicate WAV; OggS indicates OGG; an ftyp box indicates MP4 audio (M4A); fLaC indicates FLAC. If none match, we fall back to audio/mpeg. This is a standard magic-byte sniffing approach used by media containers.

Q: Is my audio uploaded anywhere?

A: No, this player is fully browser-based and runs entirely client-side. Decoding (atob per RFC 4648), playback via the MDN Audio element, and waveform rendering all happen locally in your browser tab. Your audio data is not uploaded, logged, or transmitted to any server, and the page works offline once it has loaded.

Q: Why does the waveform fail to render?

A: AudioContext.decodeAudioData rejects formats the browser cannot decode in software, which is common for some FLAC streams and certain AAC codecs. Audio playback through the MDN Audio element can still work even when the waveform render fails because the underlying media element uses a different decoding pipeline managed by the OS.

Q: Can I download the decoded audio?

A: Yes. Click Download to save the decoded Blob with the detected file extension (.mp3, .wav, .ogg, .m4a, .aac, .flac). The download is generated locally from a Blob URL; nothing leaves your browser. The file name reflects the MIME chosen by auto-detect or your manual override above the player.

// OTHER LANGUAGES