# Webamp: a browser reimplementation of Winamp 2

> Reimplements Winamp 2's main, equalizer and playlist windows in HTML5 and JavaScript, with Web Audio playback, volume, balance and equalizer, and renders original classic .wsz skins, which its documentation says match Winamp 2.9 pixel for pixel; Milkdrop presets run through the Butterchurn WebGL port. It ships as the webamp npm module for embedding in web pages, and the same monorepo runs webamp.org and the skins.webamp.org skin museum. Its webamp-modern prototype targets Winamp 3/5 modern skins with an interpreter for MAKI skin scripts, whose undocumented bytecode format the author reverse engineered and documents in the repository.

- Type: Case study
- Targets: App
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-27
- Original resource: <https://github.com/captbaritone/webamp>
- Primary source: <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/README.md>
- Catalog page: <https://awesomerea.org/resources/webamp-winamp-reimplementation-case/>
- Record JSON: <https://awesomerea.org/resources/webamp-winamp-reimplementation-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/webamp-winamp-reimplementation-case/index.md)

## Requirements & limits

- Release at review: webamp 2.3.1 on npm, published 2026-06-16; the reviewed master commit (2026-10-17) adds unreleased accessibility and API changes listed in the changelog. The README says it works in modern Edge, Firefox, Safari and Chrome. It reimplements Winamp's behavior and skin rendering rather than recovering Winamp's code, and webamp-modern remains a prototype with an open list of unimplemented MAKI and skin features.
- No original Winamp installation is needed: Webamp bundles a default skin and sample track, and users can load their own Winamp 2 .wsz skins, audio files, Milkdrop presets and .eqf equalizer presets. Skins and audio fetched from another domain must be served with CORS permission, because Webamp reads their contents.
- Development uses pnpm and Turborepo; .nvmrc names Node.js 22 and CI uses Node.js 20 to build every package, lint, type-check and run the Jest tests. These test Webamp's own parsing and rendering. Compiling webamp-modern's MAKI test scripts calls the bundled Winamp 5.66 mc.exe, directly on Windows or through Wine elsewhere.
- The code is MIT-licensed, and the README says the Winamp name, interface and sample audio file are Nullsoft's property. Bundled files that carry no license of their own: the Nullsoft MAKI compiler builds under packages/webamp-modern/resources/maki_compiler (five mc.exe versions from Winamp 3 alpha 8r to Winamp 5.66, nscrt.dll and the MAKI .mi library headers), the skins named after Winamp defaults (base-2.91, Winamp 3 build 499, Winamp Modern 5.66) and the third-party community skins used for demos and tests, the llama sample MP3 and the Winamp Modern Skins tutorial PDF. The bundled Perl MAKI decompiler is GPL-2.0.

## Primary sources

1. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/README.md>
2. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/README.md#L62-L67>
3. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-docs/docs/05_features/05_skins.md>
4. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-docs/docs/05_features/03_equalizer.md>
5. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-docs/docs/05_features/02_mikdrop.md>
6. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-docs/docs/07_guides/01_cors.md>
7. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-docs/docs/12_changelog.md>
8. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp/docs/architecture.md>
9. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-modern/README.md>
10. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-modern/src/maki/maki-bytecode.md>
11. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-modern/snowpack-maki-plugin.js>
12. <https://github.com/captbaritone/webamp/tree/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-modern/resources/maki_compiler>
13. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/packages/webamp-modern/resources/maki_decompiler_1.1/COPYING>
14. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/.github/workflows/ci.yml>
15. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/.nvmrc>
16. <https://github.com/captbaritone/webamp/blob/f01369fc2d7aaa9366a3ba9ab0ad1db4b6417a40/LICENSE.txt>
17. <https://registry.npmjs.org/webamp/2.3.1>

## More in Apps

- [NOOP: an offline WHOOP strap client built from Bluetooth protocol research](https://awesomerea.org/resources/noop-whoop-ble-client-case/index.md) · Case study
- [NiimBlue: an independent web client for NIIMBOT label printers](https://awesomerea.org/resources/niimblue-niimbot-printer-client-case/index.md) · Case study
- [open_oura: a cloud-free Oura Ring client built on its reverse-engineered BLE protocol](https://awesomerea.org/resources/open-oura-ring-protocol-case/index.md) · Case study
- [Sony Headphones Client: a desktop client for Sony’s headset control protocol](https://awesomerea.org/resources/sony-headphones-client-case/index.md) · Case study
- [cbyge: reconstructing the C by GE smart-bulb cloud protocol](https://awesomerea.org/resources/cbyge-c-by-ge-protocol-case/index.md) · Case study
- [Clickwill: reconstructing iPod library database editing](https://awesomerea.org/resources/clickwill-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
