Artist Top Songs Playlist Generator
Generate a playlist from top songs of multiple artists. Enter artist names, fetch their hits, customize your playlist, and export it.
Press Enter or click Add. Add multiple artists to build your playlist.
Fetching...
Export Playlist
About
Building a coherent playlist from multiple artists requires more than concatenating random tracks. This tool queries the iTunes Search API for each artist you provide, retrieves their top-ranked songs by popularity, and assembles them into a unified playlist. You control how many tracks per artist (variable n, range 1 - 25), whether to shuffle the final order, and which individual tracks to include or exclude. The total playlist duration T is computed in real time as the sum of all selected track durations. Results are exportable as .m3u playlist files compatible with VLC, Winamp, and most modern players.
Limitations: song availability depends on the iTunes catalog for your region. Artists with very few digital releases may return incomplete results. Duplicate tracks across compilations are filtered by normalized title matching, but live versions or remasters may still appear as separate entries. Preview audio clips are 30-second samples provided by Apple and require an active internet connection.
Formulas
The total playlist duration T is computed as the sum of individual track durations returned by the API in milliseconds, then converted to a human-readable format:
where di = duration of the i-th selected track in ms, and k = total number of selected tracks across all artists.
Conversion to minutes and seconds:
The Fisher-Yates shuffle algorithm guarantees uniform random permutation of the playlist when shuffle mode is enabled:
Deduplication uses normalized title comparison: norm(title) = lowercase(strip(title, parentheticals & features)). Two tracks are considered duplicates when norm(t1) ≡ norm(t2) ∧ artistId1 = artistId2.
Reference Data
| Export Format | Extension | Compatible Players | Includes Metadata | Standard |
|---|---|---|---|---|
| M3U Playlist | .m3u | VLC, Winamp, iTunes, foobar2000 | Title, Duration | Extended M3U (EXTM3U) |
| Plain Text | .txt | Any text editor | Artist, Title, Album, Duration | Custom formatted |
| CSV | .csv | Excel, Google Sheets, LibreOffice | All fields | RFC 4180 |
| JSON | .json | Programmatic use | Full API response subset | ECMA-404 |
| iTunes API Parameter | Value Used | Description |
|---|---|---|
| term | Artist name (URL-encoded) | Search query string |
| entity | musicTrack | Restricts to audio tracks only |
| limit | 1 - 25 | Max results per artist |
| media | music | Media type filter |
| sort | popular | Sorts by popularity ranking |
| Genre Code | Genre Name | Typical BPM Range | Avg Track Duration |
|---|---|---|---|
| 20 | Alternative | 110 - 140 BPM | 3:45 |
| 21 | Rock | 100 - 150 BPM | 4:10 |
| 14 | Pop | 100 - 130 BPM | 3:30 |
| 18 | Hip-Hop/Rap | 80 - 115 BPM | 3:50 |
| 11 | Jazz | 60 - 180 BPM | 5:20 |
| 6 | Country | 90 - 130 BPM | 3:40 |
| 15 | R&B/Soul | 70 - 110 BPM | 4:00 |
| 7 | Electronic | 120 - 150 BPM | 5:30 |
| 9 | Classical | Variable | 8:00+ |
| 16 | Reggae | 60 - 90 BPM | 4:15 |
| 12 | Latin | 90 - 130 BPM | 3:55 |
| 10 | Metal | 100 - 200 BPM | 5:00 |