


HTMLPlayer is a local-first audio player for the browser and, through Tauri, for Windows, macOS, and Linux.
Version 1 was a single HTML file. Version 2 is a rewrite in React, TypeScript, Vite, and Zustand. The library lives in OPFS, so playback does not need a server.
Features
- Import with drag and drop, the file picker, a directory picker, the OS share sheet, or Web Share Target.
- Playlists and folders, with drag-and-drop reordering and bulk select.
- Metadata details: codec, bitrate, sample rate, channels, bit depth, container, profile, and gapless offsets.
- Lyrics drawer that prefers embedded lyrics and falls back to lyrics.ovh.
- Crossfade, optional gapless playback, smart shuffle, and preloading of the next track.
- 60+ visualizers and a Document Picture-in-Picture mini player.
- Themes, icon sets, wallpapers, editable keyboard shortcuts, and light, dark, or auto mode.
- English and French translations.
Build
- Web: run
npm installthennpm run dev:webornpm run build:webinsideBuild/. - Desktop:
npm run build:desktopwith Tauri. Rust stable is required. - Node.js 18+ and npm 9+.
Development happens on the v2.0.0 branch. The main branch is behind.