You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ltGuillaume b3724d9bfe Fix downloading folders in Windows by using 7-Zip 4 days ago
music.pls 1.9 2 years ago
LICENSE Initial commit 2 years ago - Show toast when trying to add a song that's already in the playlist 6 days ago
SCREENSHOT.png 2.0.5 1 year ago
SCREENSHOT2.png 2.1.9 1 year ago
music.css - Show toast when trying to add a song that's already in the playlist 6 days ago
music.htm Remove fillPlaylistUri() now that the share fields don't show the encoded URL anymore. 6 days ago
music.ini.template - Show toast when trying to add a song that's already in the playlist 6 days ago
music.js Fix fillShare() when clicking on a folder 4 days ago
music.php Fix downloading folders in Windows by using 7-Zip 4 days ago
music.png Added Web App Manifest 3 months ago
music.webmanifest Changed theme color for web manifest 1 month ago
music.woff 1.0 2 years ago
musictheme.css Change border color in dark theme 1 week ago
musictheme.light.svg 3.0 11 months ago
musictheme.svg 3.0 11 months ago
musictxt.woff 2.0.5 1 year ago
musictxtsc.woff 2.0.5 1 year ago

Music Folder Player

An elegant HTML5 web folder player for parties and/or private music collections, with a playlist system that all players should have had. It does not use a database (so it's alway up-to-date), but can easily handle folders with 25,000 songs or more. It has no dependencies other than PHP and installation costs less than 2 minutes. The design should be fully responsive on CSS3-compatible browsers.

Dark theme via musictheme.css




  • Rebuilds the tree of a specified folder, showing only files with supported extensions
  • Click on cover image to zoom (300x300px, again for full size)
  • Click on current song or folder name to find it in the library


  • Drag and drop to change the playlist order or drag to bin to remove
  • Random playback will prevent choosing already played songs (unless "Play next" is used)
  • Click on a song to play directly
  • Right-click (long-press) a song to find it in the library
  • Choose how to continue when the playlist is exhausted:
    • Stop playback
    • Repeat the playlist
    • Continue from last song's position in library
    • Randomly select unplayed songs from the (filtered) library
  • Playlist and configuration will be saved to the browser's Local Storage if possible
  • Load/save online playlists (optional)
  • Import/export playlists from/to a local file


  • Sports a library filter to quickly find songs
  • Click a song to play (or enqueue when "Enqueue" mode is enabled)
  • Clicking on a song will always keep the playlist intact
  • Right-click (long-press) a song to play it next
  • Right-click (long-press) a folder to add all its songs to the playlist
  • Use arrow keys to traverse the library tree, Enter to play/enqueue, or Shift-Enter to play next/add folder


  • Password lock the playlist and playlist controls (allowing only Enqueue, Play next, Play/pause and Share)
  • Tip: use OpenKiosk and disable Set inactive terminal
  • Prevents adding a song if it's already queued up
  • Do not add previously played songs to playlist (optional)


  • Download a song or zipped folder (only tested on a Linux server)
  • Share a song, folder or playlist link (library features/options will be hidden)
  • Share links directly to WhatsApp (optional)

List of hotkeys

A list of all the hotkeys can be found in the Wiki.


You can have a test setup running within 2 minutes. For all the details, check the Wiki.


All credits are due, as well as my sincere thanks!