webamp
Winamp 2 reimplemented for the browser
A faithful browser recreation of the classic Winamp 2 music player built with HTML5 and JavaScript, supports original skins, equalizer, and a Milkdrop visual renderer.
Webamp is a faithful recreation of Winamp 2, the beloved music player from the late 1990s, rebuilt to run entirely inside a web browser using HTML5 and JavaScript. If you remember dragging Winamp around your Windows desktop, adjusting the equalizer, and loading custom skins, this project brings that exact experience back without installing anything. It supports the full range of classic Winamp skins and works in modern versions of Chrome, Firefox, Safari, and Edge.
The project has been covered by tech publications including TechCrunch, Gizmodo, and Motherboard, and appeared on Hacker News multiple times. Beyond nostalgia, it has been integrated into real products: the Internet Archive uses it for skin previews and audio playback, and a site called Winampify.io uses it to build a Spotify client with the Winamp interface.
For developers, Webamp is available as an npm package that can be embedded into any website. The repository is organized as a monorepo, meaning it contains multiple related packages in one place: the main Webamp module, a demo site, a documentation site, a skin database browser, and a few smaller standalone utilities for parsing Winamp file formats. A Milkdrop-style visual renderer is also integrated, recreating the animated graphics that Winamp players used to display while music played.
Setting up the project for development requires installing dependencies with pnpm and using Turborepo, a tool for managing multi-package repositories efficiently. The build system handles the order in which packages compile and caches results to speed up repeated builds.
The code is released under the MIT license. The Winamp name and original interface design remain the property of Nullsoft, the company that made Winamp, but the JavaScript implementation in this repository is open source and free to use.
Where it fits
- Embed a Winamp-style music player into a website for nostalgia-themed or retro projects.
- Use the npm package to add Winamp skin previews to a site that archives classic Winamp skins, as the Internet Archive does.
- Build a browser-based music player with equalizer and Milkdrop visualizer using Webamp as the starting point.