← Blog
·7 min read·I Love Sprites Team·Audio

Game Audio Formats: WAV, OGG, and MP3 — What to Edit, What to Ship, What to Avoid

Why your music loop has a gap, why WAV masters matter even though you never ship them, and why the web plays by different rules. A practical three-format mental model for game audio, with Unity and Godot specifics and a browser-only conversion workflow.

WAV vs OGG vs MP3 — what to edit, what to ship One minute of stereo audio, three formats — size, looping, and where each belongs WAV SIZE / MIN (STEREO) ~10 MB QUALITY Lossless (exact PCM) GAPLESS LOOPS Yes — sample-exact DECODE COST None — raw samples BEST FOR • Editing masters • Short SFX in engines • Anything re-encoded later Avoid for: music in builds OGG Vorbis SIZE / MIN (STEREO) ~1–1.5 MB QUALITY Lossy, transparent at q5+ GAPLESS LOOPS Yes — no encoder padding DECODE COST Moderate (stream music) BEST FOR • Music and ambience • Looping tracks • Unity, Godot, most engines' default pick Watch for: Safari playback MP3 SIZE / MIN (STEREO) ~1 MB @128k QUALITY Lossy, fine at 128k+ GAPLESS LOOPS No — encoder gap at edges DECODE COST Moderate, universal BEST FOR • Web pages, podcasts • Voice-over lines • Maximum player compatibility Avoid for: seamless loops The short version Edit and archive in WAV → ship music and loops as OGG Vorbis → keep MP3 for the web and voice Every conversion is lossy-to-lossy except from WAV — so convert once, from the best source you have ilovesprites.com — free browser audio tools, no uploads

Audio is the asset class game developers think about last and players notice first. A muddy music loop with an audible seam, a footstep that lags the animation, a WebGL build that takes an extra ten seconds to load because the soundtrack shipped as WAV — all of these trace back to one decision made early and rarely revisited: which audio format to use where. This guide covers the three formats you'll actually touch — WAV, OGG Vorbis, and MP3 — what each one is for, and the conversion workflow we use to move between them without quality loss creeping in.

The Three-Format Mental Model

Almost every game audio pipeline reduces to the same three roles. WAV is the editing and archival format: uncompressed PCM samples, no generation loss, no decoder quirks, and sample-exact loop points. OGG Vorbis is the shipping format for music and ambience: it compresses a minute of stereo audio from roughly 10 MB down to 1–1.5 MB at transparent quality, it loops without gaps, and it's patent-free, which is why engines adopted it as the default. MP3 is the compatibility format: every device, browser, and player on earth decodes it, which makes it the right choice for the web, podcasts, and voice content — and the wrong choice for anything that loops.

The sizes matter more than they first appear. Uncompressed CD-quality stereo runs about 10 MB per minute. A ten-minute soundtrack shipped as WAV is 100 MB of your download and, depending on how your engine loads audio, potentially 100 MB of RAM. The same soundtrack as OGG at quality 5 is around 12 MB and sounds identical to nearly everyone on nearly all hardware.

Why MP3 Can't Loop Cleanly

This is the single most common audio bug we hear in indie games: the music loop has a tiny hiccup of silence at the seam. It isn't your DAW's fault and it isn't the engine's fault — it's the MP3 format. MP3 encodes audio in fixed-size frames, and encoders pad the start and end of the stream to fill the first and last frame. Those few hundred samples of padding become a gap when the file loops. Some decoders use metadata to trim it; many game engines historically did not, and the behavior varies enough that you can't rely on it.

OGG Vorbis doesn't have this problem — the format records the true sample length, so a loop that was seamless in your editor stays seamless in the engine. This is the practical reason (beyond licensing history) that OGG became the game-audio default: if it loops, ship it as OGG or WAV, never MP3.

What Unity and Godot Actually Do With Your Files

Engines add a wrinkle that surprises people: the format you import is not necessarily the format the engine ships. Unity imports WAV, OGG, MP3, and AIFF, then re-encodes according to the import settings — so importing a lossy MP3 and letting Unity transcode it to Vorbis means your players hear a lossy-to-lossy double encode. Import WAV masters where you can and let the engine do the one and only lossy compression pass. Unity's load types are worth setting deliberately too: short SFX should be Decompress On Load for instant playback, and long music should be Streaming so it never sits fully decompressed in memory.

Godot 4 imports WAV, OGG Vorbis, and MP3, and the community guidance is refreshingly blunt: WAV for short sound effects (cheap to decode, plays instantly), OGG for music (small on disk, streams efficiently). MP3 support exists mostly so imported assets don't block you — not because it's the recommended shipping format.

The Web Is the Exception

If your game runs in the browser — or you're building a site, a devlog, or an itch.io embed with sound — the calculus flips. OGG Vorbis playback in Safari has been inconsistent for years, while MP3 plays everywhere without exception. For pure web contexts, MP3 (or AAC) is the safe pick, and 128 kbps is transparent for most content. For WebGL/HTML5 game builds, your engine's exporter usually handles the format conversion per platform; what you control is the quality of the source you feed it, which brings us back to: keep WAV masters.

A Browser-Based Conversion Workflow

You don't need a DAW or a command-line FFmpeg install for the conversion and trimming work — the same FFmpeg runs compiled to WebAssembly in your browser, which means the files never leave your machine. Our workflow for preparing a batch of game audio:

  • Trim first. Cut sound effects to their exact start and end with the Audio Trimmer — dead air at the start of an SFX is playback latency you're shipping to every player. Export short SFX as WAV.
  • Convert music to OGG. Run tracks through the MP3 to OGG converter — despite the name it accepts WAV, AAC, and FLAC too, and converting straight from a WAV or FLAC master gives the best result.
  • Compress voice and web audio. Long voice-over and podcast-style content goes through the MP3 Compressor; 96 kbps is fine for speech, 128 kbps for anything with music in it.
  • Convert to WAV only when a tool demands it. The MP3 to WAV converter exists for samplers and editors that only accept PCM input — remember it can't restore quality the MP3 already discarded.

Rules of Thumb Worth Keeping

Convert once, from the best source you have. Every lossy-to-lossy conversion stacks artifacts, so the pipeline should always be master → one lossy encode → done. Keep the WAV or FLAC masters in your project archive even if the repo only carries OGGs. Loop test in the engine, not the editor — the editor plays the samples, the engine plays the decoder. And budget audio like you budget textures: a mobile or WebGL game with 80 MB of music has a download problem no code optimization will fix, and the fix is a quality slider, not a rewrite.

None of this requires specialist tools anymore. The trimming, conversion, and compression steps above run free in a browser tab, with no uploads and no accounts — the same privacy-first approach as the rest of our tool collection.