How to build playlists for Jellyfin from your local library
Scan your music folder in a browser-based playlist tool, build the playlist there, export it as a standard .m3u file into the folder Jellyfin already watches, then rescan your library so Jellyfin picks it up.
Why this is trickier than it should be
Jellyfin reads .m3u files it finds inside your music library and turns them into playlists automatically. That part works well. The gap is upstream of that: Jellyfin itself isn't built for browsing a folder of thousands of tracks, picking the ones you want, and putting them in a specific order. You end up either editing an .m3u file by hand in a text editor, counting brackets and file paths, or hunting for a desktop app that can do it for you.
If you already have a .m3u file from somewhere else, you can usually drop it straight into your library folder and skip ahead. This guide is for building one from scratch, out of a folder of music files.
Step 1: know which folder Jellyfin is watching
Open Jellyfin's dashboard, find your music library, and confirm the folder path it's scanning. This is the folder your playlist needs to end up in, or a subfolder inside it. Jellyfin picks up .m3u files anywhere within a music library's watched folders, not just the root.
If you're running Jellyfin on a NAS or a separate machine, this is usually a network share you also have mounted or accessible from whatever computer you're building the playlist on. The folder structure needs to match on both ends. That detail matters more than it sounds, see the note on paths below.
Step 2: scan the same folder in a browser-based playlist tool
Open the music folder in Emthree, the same one Jellyfin points at. It runs entirely in the browser, so there's nothing to install and no account to create. On Chrome or Edge you get a native folder picker, and Emthree remembers the folder so you can reopen it with one click next time. On Safari or Firefox you drag the folder onto the page instead, and you'll need to re-drag it each session since those browsers don't retain folder access between visits.
Scanning reads file tags locally, in your browser. Nothing gets uploaded anywhere.
Step 3: build the playlist
Browse the scanned library, add tracks to a cart, and reorder them into the sequence you want. This is the part a text editor can't help you with, since you'd otherwise be manually reordering lines and matching them to file paths by hand.
There's no cap on how many tracks you can scan or export, even on the free tier.
Step 4: export as .m3u
Export produces a standard .m3u file with an #EXTM3U header and one #EXTINF line per track, listing duration and an "Artist - Title" label pulled from the file's tags. If a track is missing tags, it falls back to the title, then to the file path.
One thing to know before you hit export: track paths in the file are written as relative paths, for portability. Export is blocked if your selected tracks and the playlist don't share a common root folder, because relative paths wouldn't be able to resolve otherwise. Practically, this means everything you're adding to one playlist should live under the same top-level music folder. If you're pulling in a track from a completely separate folder outside that structure, move or link it in first.
Step 5: put the file where Jellyfin can see it
Save the exported .m3u into the Jellyfin library folder you confirmed in step 1. Since the paths inside the file are relative, they resolve based on where the file sits, so the folder structure on the machine you exported from needs to match the structure Jellyfin sees. If you built the playlist against a locally mounted copy of the same share Jellyfin reads from, this should line up without extra work.
Step 6: rescan the library in Jellyfin
Trigger a library scan from the Jellyfin dashboard, or wait for its scheduled scan. Jellyfin will find the .m3u file and list it as a playlist. Open it and confirm the tracks and order match what you built.
If tracks show up missing or out of order, the most common cause is a path mismatch between where you exported from and where Jellyfin is reading. Double check the folder structure lines up on both sides.
Where this gets easier
The actual playlist-building part, browsing a large folder, picking tracks, and getting them in the right order, is the part Emthree is built for. You do it in a browser, nothing leaves your machine while you're scanning or building, and the free tier has no limit on library size or export length. If you build playlists like this often, saved playlists persist locally in the browser so you're not rebuilding from scratch each time, up to three of them on the free tier, unlimited on Pro along with sync across devices if you're switching machines.
Emthree doesn't talk to Jellyfin directly, there's no integration or plugin. It just exports a plain .m3u file, and Jellyfin already knows what to do with those.