WebVLC is a modern, web-based media player inspired by the versatility of VLC. It runs entirely in your browser, allowing you to play local audio and video files without uploading them to any server.
Note: If you are looking for a very experimental WASM-port of VLC that runs in the browser, see vlc.js
- Local Playback: Play video and audio files directly from your computer. Supports MP4, MKV, WebM, MP3, FLAC, OGG, WAV, and more.
- Playlist Management:
- Drag and drop files or folders to create playlists.
- Support for
.m3uand.plsplaylist files. - Reorder tracks with drag and drop.
- Shuffle and Loop modes (Repeat One, Repeat All).
- Subtitle Support: Load subtitles in
.srt,.vtt,.ass,.ssa, and.subformats. - Advanced Controls:
- Variable playback speed (0.25x - 4x).
- Keyboard shortcuts for power users.
- Fullscreen toggle.
- Privacy First: No files are ever uploaded. Everything stays on your device.
| Key | Action |
|---|---|
Space / k |
Play / Pause |
f / F |
Toggle Fullscreen |
m / M |
Toggle Mute |
↑ / ↓ |
Volume Up / Down (5%) |
← / → |
Seek -10s / +10s |
Shift + ← / → |
Seek -3s / +3s |
n / N |
Next Track |
p / P |
Previous Track |
l / L |
Toggle Loop Mode |
s / S |
Toggle Shuffle |
[ / ] |
Decrease / Increase Playback Speed |
= |
Reset Playback Speed to 1x |
Home / End |
Seek to Start / End |
0 - 9 |
Seek to 0% - 90% |
- Node.js (v18 or higher recommended)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/addyosmani/webvlc.git cd webvlc -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:5173.
This project is licensed under the MIT License - see the LICENSE file for details. This project is not officially affiliated with the VideoLAN project or VLC media player. All trademarks and copyrights belong to their respective owners.

