winamp online — the classic player, rebuilt and actually working_
Library
Playback
Look
Visualiser
Advanced — connect Spotify (optional, Premium only)
Everything above works without this. Spotify Connect is here for people who want the Winamp shell driving their Premium account. Once connected, load your Liked Songs, top tracks, a playlist or a search into the Winamp playlist — they appear marked ♫ and play with the normal transport, seek bar and volume. The equalizer, analyser, crossfade and visualisers cannot work with Spotify — browsers deliberately give a page no access to the decoded stream, so those stay local-file only.
- Create a free app at developer.spotify.com/dashboard.
- Add
https://jasperbernaers.com/winamp/as a Redirect URI and tick Web Playback SDK. - Paste the Client ID below and connect. It is stored only in your browser and is designed to be public.
Guide — thirty seconds to music, the rest is the fun part
Drag files or a folder anywhere onto this page, or press + DIR in the playlist window to pull in a whole library, subfolders included. Titles, artists and cover art come from the files' own ID3 tags.
Click any playlist row and it plays. Z X C V B are the original Winamp transport keys and they all still work.
In the equalizer window press ON, then drag the sliders or pick one of the eighteen classic presets. These are real filters, so you hear every move.
Pick a skin, drag the windows into an arrangement you like, double-click a title bar to roll a window up, and press Ctrl+D for double size. It is all remembered.
Shift+F blows the player up to fill the display. F opens the visualiser with six reactive presets, good on a second monitor or at a party.
What is in here
The classic 275×116 layout. Transport across the bottom, volume and balance top right, seek bar in the middle, and the black display showing time, title, bitrate and sample rate in a pixel font. The EQ and PL buttons show and hide the other windows.
- Click the time
- Elapsed or remaining
- Click the analyser
- Spectrum → oscilloscope → off
- Wheel over volume
- Nudge the level; double-click balance to centre it
- Double-click title bar
- Shade mode, rolls up to a strip
- The llama
- Click it
Peaking filters at 60, 170, 310, 600 Hz and 1, 3, 6, 12, 14 and 16 kHz with a separate preamp, the layout of the original, wired to real Web Audio filters. The curve above the sliders shows the response you have built.
- ON
- Engages the filters; off bypasses them completely
- AUTO
- Picks a preset from the track's genre tag
- Preamp
- Pull it down if boosted bands sound harsh
- Presets
- All 18 originals, Flat to Techno
- Double-click a slider
- Back to 0 dB
Drag rows to reorder and type in the search box to jump. It copes with thousands of tracks because only the visible rows are drawn and tags are read in the background.
- Click a row
- Plays it straight away
- Ctrl / Shift-click
- Select without playing
- MISC
- Sort by title, artist, length or filename · reverse · randomize
- LIST OPTS
- Save or load .m3u, crop, remove duplicates, clear
- Drag the corner
- Resize the window
All driven by a live analysis of the output with beat detection on the low band, so they move with the music rather than to a timer. Press F and pick one.
- Classic Bars
- The Winamp analyser, grown up
- Oscilloscope
- Raw waveform, glowing
- Radial · Particles
- Spectrum ring, and a field that bursts on the beat
- Plasma Warp · Starfield
- Feedback tunnel, and warp speed on kick drums
Eight skins recreated in CSS, so switching is instant. Drag any title bar and the windows snap to each other and to the edges. Your layout is saved.
- Skins
- Base 2.9 · Modern · Amber · Cyber · Vapor · Bricks · Midnight · Ivory
- Size
- Auto fit, 1×, 1.5×, 2× or 2.5×
- Album art
- A fourth window with the cover, Alt+A
- ⛶ in the title bar
- Fullscreen player, screen kept awake
Muscle memory from 2001 still works. Press ? at any time for the full list.
- Z X C V B
- Prev · play · pause · stop · next
- L / J
- Open file · jump to track
- R / S
- Shuffle · repeat
- Alt+E / G
- Playlist · equalizer
- Ctrl+D
- Double size
Winamp online: the classic player, working in your browser
This is a recreation of Winamp 2.x, the media player that defined the MP3 era, rebuilt as a single web page. It is not a screenshot or a mock-up. You give it your own audio files and it plays them through a real Web Audio pipeline, with an equalizer that changes the sound, an analyser that reads the actual signal, and a crossfade that works because two decks are running. There is no account, no sign-in, no subscription and no install.
Why rebuild a media player from 1997?
Winamp shipped in April 1997 and by 2001 had roughly sixty million users. It got three things right that people still miss. It was fast: it opened before your hand left the mouse. It was yours: every window could be dragged, rolled up, resized and reskinned. And it treated music as files you owned, in folders you organised, rather than a catalogue you rent by the month. That is the whole brief for this page.
Play MP3, FLAC and other audio files
Drag files or a folder onto the page, use + FILE and + DIR in the playlist window, or Add files and Add folder in the Library panel. The player uses your browser's own decoders, so in practice MP3, M4A/AAC, WAV, OGG Vorbis, Opus, FLAC and WebM all play. WMA, APE and the tracker formats Winamp once handled through plugins are not available in any browser.
Track names and art come from the files: ID3v2 tags for title, artist, album, year and track number plus the embedded cover, then ID3v1, then the filename, where the common Artist - Title pattern is understood. A single click on a row plays it, which also makes it work on a phone. Hold Ctrl (or Cmd) or Shift to select rows without playing them, for example to remove a batch.
Your library, next time
The playlist, its order, your settings and the window layout are always remembered. In Chrome and Edge a folder loaded with + DIR is kept as a permanent handle, so Restore library brings it all back with one click. Other browsers cannot do that, so entries come back greyed out until you add the same files again; they are relinked by name and size into their original positions instead of being added at the end. Save a standard extended .m3u with durations and titles from LIST OPTS; loading one reorders the tracks you already have to match it.
A real 10-band equalizer with the 18 Winamp presets
The presets are the original eighteen: Flat, Classical, Club, Dance, Full Bass, Full Bass & Treble, Full Treble, Headphones, Large Hall, Live, Party, Pop, Reggae, Rock, Ska, Soft, Soft Rock and Techno. The preamp sets the level going into the equalizer: if you boost several bands and it starts to clip, pull it down a few decibels; if a track is quiet, push it up.
Under the hood each deck is an <audio> element feeding a MediaElementAudioSourceNode, then a preamp gain and ten peaking BiquadFilterNodes in series, each on one of the classic Winamp frequencies with a Q chosen so neighbouring bands overlap smoothly. After the filters come a StereoPannerNode for balance, an optional DynamicsCompressorNode for auto-level, the master gain and an AnalyserNode that both visualisers read. Switching the equalizer off reroutes around the filters rather than zeroing them.
Crossfade, speed, balance and sleep timer
- Crossfade overlaps the end of one track with the start of the next, up to twelve seconds. Use zero for albums you want to hear as intended, two to four seconds for background listening, eight or more for a continuous mix.
- Speed runs from 0.5× to 2×. With keep pitch on, a track stays in the same key, which helps with podcasts and learning a part; turn it off and it behaves like a turntable.
- Balance moves the sound between left and right. Double-click it to centre.
- Auto-level is a gentle compressor that evens out a quiet old rip next to a loud modern master. It is off by default because it changes the dynamics.
- Sleep timer: 15, 30, 45 or 60 minutes, then the player fades out and stops.
Skins, shade mode and fullscreen
The eight built-in skins reproduce well-known palettes in CSS. Real .wsz skin files are not supported: they are archives of bitmap sprites cut to exact pixel coordinates, and loading them would mean shipping a full skin engine. Double size (Ctrl+D) is how most people ran Winamp once screens got bigger than 800×600; the player also scales to fit your window and stacks the windows on a phone.
The fullscreen player (the ⛶ button in the title bar, the button under Look, or Shift+F) hides the page, scales the windows up as far as they go and asks for a screen wake lock; move the mouse for the exit button or press Esc. The fullscreen visualiser (F) shows the graphics instead, with a sensitivity control under Visualiser.
Nothing is uploaded, and it works offline
There is no server behind this page. Your browser opens the files from your disk, decodes them locally and plays them; tags and art are parsed in the page. Skin, size, window positions, equalizer, volume, balance, crossfade, speed, shuffle, repeat, visualiser and the playlist are stored in your browser's local storage, and clearing your browser data resets them. Folder access only happens if you grant it. Once the page has loaded you can go offline and keep listening; only the web font needs the internet. It is free for any use, with no ads and no watermark.
Keyboard shortcuts
Z previous · X play · C pause · V stop · B next · Space play and pause · L open file · J jump to track · R shuffle · S repeat · ↑ ↓ volume · ← → seek 5 seconds · Delete remove selected · Alt+E playlist · Alt+G equalizer · Alt+A album art · Ctrl+D double size · F fullscreen visualiser · Shift+F fullscreen player · Esc leave fullscreen · ? the full list.
If nothing plays
Browsers do not let audio start on its own, so click anywhere on the page first. Then check that the playlist is not empty, the volume slider is up, the tab is not muted and the file is a format your browser can decode. If you hear music but the visualiser is flat, it is most likely switched off (click the small display to cycle it), or the track is coming from Spotify, which no page is allowed to analyse. On a phone you can add files from storage, but loading a whole folder is a desktop feature and iOS limits background audio in browsers.
Spotify, optional and Premium only
Everything above works without Spotify. Under Advanced you can connect a Spotify Premium account with your own free developer Client ID (the login uses PKCE, so no secret is involved). Create an app at developer.spotify.com, add this page's exact URL as a Redirect URI and tick Web Playback SDK. Connecting only registers this tab as a device, so then load Liked Songs, Top Tracks, Recently Played, one of your playlists or a search into the playlist and click a row marked ♫. Play, pause, next, previous, the seek bar and volume drive Spotify from there. The equalizer, analyser, crossfade and visualisers stay local-file only, because browsers give a page no access to Spotify's decoded stream. If Spotify on your phone or desktop grabs playback back, press Connect again.
The first version of this page was Spotify-only, with a decorative equalizer for that same reason. It is archived at /winamp/index_v1.html and still works.
The llama, and the small print
Winamp shipped with a demo MP3 by DJ Mike Errico containing the line "Winamp, it really whips the llama's ass", which became the player's unofficial motto. There is a llama in the corner of the main window; click it. This page is an independent tribute written from scratch, not affiliated with or endorsed by Winamp, Llama Group, Nullsoft, Radionomy or Spotify. The original desktop Winamp is still available from winamp.com.
More music tools
For a modern take with a waveform, BPM detection and big fullscreen screens, try the online MP3 player. Put your music on a big screen with the music visualizer, trim a file in the audio editor, make chiptune loops in 8-Bit Studio, or browse all the free music tools.
Looking for the old version? The previous Spotify-only build is still online at /winamp/index_v1.html — it needs a Spotify developer Client ID and a Premium account, and its equalizer is decorative rather than real.