Skip to content

Guide · Open source

How to use Webamp: run the Winamp 2 player in a browser

Updated · written with AI from the project's own documentation and checked against our catalogue data

Webamp is an open-source reimplementation of the classic Winamp 2 media player, written in HTML5 and JavaScript so it runs inside a web browser. It supports full Winamp skins, so you can see the familiar retro interface and change its look. This guide explains what Webamp is good for, how to set up the repository with pnpm, which commands the README lists, and where to go to embed it in your own site.

Webampcaptbaritone/webamp · ★ 11.3k · MIT

Quick start

  1. 1Check your browser. Use a modern version of Edge, Firefox, Safari or Chrome. Internet Explorer is not supported.
  2. 2Install pnpm. The README's quick start uses pnpm, so install it before working with the repository.
  3. 3Install dependencies. Run pnpm install from the repository root.
  4. 4Build the packages. Run npx turbo build to build all packages.
  5. 5Run tests. Run npx turbo test to execute the Jest unit tests.
  6. 6Read the docs to embed. Open docs.webamp.org for instructions on adding Webamp to your own site and customizing it.

What Webamp is and who it is for

Webamp recreates Winamp 2 in the browser. The project's README describes it as a reimplementation of Winamp in HTML5 and JavaScript with full skin support. Its code is TypeScript and it is released under the MIT License.

It suits people who want a nostalgic Winamp-style music player in a browser, web developers who want to embed a retro player in their own site, and people who enjoy customizing interfaces with Winamp skins. It is not a replacement for a modern desktop media player, since it is a web recreation of an older player with limited scope.

Check browser support before you start

The README says Webamp works in modern versions of Edge, Firefox, Safari and Chrome. Internet Explorer is not supported.

Install dependencies and build the repository

The repository is a monorepo managed with Turborepo. The README's quick start uses pnpm, so install pnpm first, then run the commands below from the repository root.

Run pnpm install to install dependencies, then npx turbo build to build all packages. For library bundles used for NPM publishing, the README lists npx turbo build-library.

# Install dependencies pnpm install # Build all packages (automatically handles dependencies) pnpm build # Build library bundles for packages that need them npx turbo build-library

Run the tests and checks

The README lists commands for testing, type checking and linting. Tests run with Jest, type checking runs without emitting files, and linting uses ESLint.

  • npx turbo test runs all unit tests
  • npx turbo lint type-check runs lint and type checks across all packages
  • npx turbo dev --filter="webamp" works on the webamp package and its dependencies
# Run all tests npx turbo test # Lint and type-check all packages npx turbo lint type-check # Work on a specific package and its dependencies npx turbo dev --filter="webamp"

Find the right package in the repository

The repository contains the Webamp NPM module, a demo site, a documentation site, and several related modules. The main package for embedding is packages/webamp. The examples folder shows how to use the NPM module.

  • packages/webamp: the Webamp NPM module
  • packages/webamp-demo: the demo site at webamp.org
  • packages/webamp-docs: the documentation site at docs.webamp.org
  • packages/skin-database: the server component for skins.webamp.org
  • packages/winamp-eqf: parses and builds Winamp equalizer preset files (.eqf)
  • examples: sample usage of the NPM module

Embed Webamp in your own website

For adding Webamp to your site and customizing it, the README points to the Webamp Documentation at docs.webamp.org, which contains detailed instructions. Start there rather than the repository README if your goal is embedding.

What people use it for

  • Listening to music in a retro Winamp-style player inside a browser tab
  • Embedding a nostalgic music player in a personal website
  • Applying Winamp skins to change how the player looks
  • Exploring how a classic media player was reimplemented in JavaScript

Frequently asked questions

Is Webamp free to use?

Yes. The code is released under the MIT License, as stated in the README. The README also notes that the Winamp name, interface and sample audio file belong to Nullsoft.

What do I need to install Webamp?

The README lists pnpm as the prerequisite for the repository quick start. You run pnpm install, then npx turbo build, and npx turbo test to run tests.

Does Webamp work in Internet Explorer?

No. The README says Internet Explorer is not supported. It states that Webamp works in modern versions of Edge, Firefox, Safari and Chrome.

Can I use Webamp on my own website?

Yes. Developers can add it to their sites as a library. The README points to docs.webamp.org for detailed instructions on adding and customizing it.

What are alternatives to Webamp?

The comparable projects listed for this item are Butterchurn, the Milkdrop 2 WebGL implementation that Webamp integrates for visualizations, and 98.js, a Windows 98 clone in JavaScript.

Is Webamp a replacement for a desktop media player?

No. Webamp is a web recreation of an older player. If you need a modern desktop media player with broad codec or library support, choose a different tool.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Webamp is a good pick if you want a nostalgic Winamp-style player in a browser, or you are a web developer who wants to embed a retro player and customize it with skins. It is a poor fit if you need a modern desktop player with broad codec or library support, or if you need a finished end-user app without setup, since the README centres on embedding and development.

Install options & downloads