Loading…
Loading…
Authentic video game music played in your browser through real chip emulation.
VGSongs is both a player and a digital archive dedicated to the preservation of classic video game music. Every soundtrack is presented in its original native format — NSF, SPC, VGM, and others — allowing the music to run exactly as it did on the original hardware.
Rather than playing pre-recorded audio, VGSongs executes the same sound engine code the original consoles used, recreating the exact timing, instruments, and quirks of the hardware in real time.
Each game is carefully documented with its composers, developers, publishers, sound engines, hardware audio chips, and release history. Multiple regional releases, revisions, and soundtrack variants are preserved when they differ, reflecting how the music actually evolved across platforms and time.
The goal is not just to play the music, but to preserve, study, and explore it.
Think of VGSongs as a living museum of video game sound.
Browse the music of classic game systems, reconstructed from the original program code that generated it.
VGSongs uses Game Music Emu (libgme), an open-source library compiled to WebAssembly, to emulate the original sound chips of classic game consoles directly in your browser.
Instead of playing pre-recorded MP3s, the engine runs the same program code that the original console hardware executed — producing sample-accurate audio in real time. Every note, every effect, every quirk of the original hardware is faithfully reproduced.
Real chip emulation, not lossy recordings. Hear the music exactly as the original hardware produced it.
Mute or solo individual sound channels to isolate melodies, bass lines, or percussion.
Every soundtrack is cataloged with detailed metadata including composers, sound engines, audio hardware, regional releases, and soundtrack revisions, preserving the technical history behind the music.
Native format files are typically 10–100 KB — orders of magnitude smaller than compressed audio.
Formats like NSF and GBS store an entire game's soundtrack in a single small file.
All emulation runs client-side in WebAssembly. No transcoding, no streaming servers.
| Format | System | Type |
|---|---|---|
| .nsf | Nintendo Entertainment System (NES) | Multi-track |
| .nsfe | NES (extended metadata) | Multi-track |
| .spc | Super Nintendo (SNES / SPC700) | Single-track |
| .gbs | Game Boy / Game Boy Color | Multi-track |
| .vgm | Sega Genesis, Master System, Game Gear & more | Single-track |
| .vgz | Compressed VGM | Single-track |
| .hes | PC Engine / TurboGrafx-16 | Multi-track |
| .ay | ZX Spectrum / Amstrad CPC | Multi-track |
| .sap | Atari 8-bit (POKEY) | Multi-track |
| .kss | MSX / Sega Master System | Multi-track |
| .gym | Sega Genesis (GYM format) | Single-track |
| .sgc | Sega Master System / Game Gear (SGC) | Multi-track |
Multi-track formats store all songs from a game in a single file. Single-track formats use one file per song.
The core emulation is provided by Game Music Emu (libgme) by Shay Green & contributors, compiled to WebAssembly via Emscripten.
Audio output uses the Web Audio API, available in all modern browsers.