Aurral

Free tool

Spotify CSV to JSON converter

Use this when you cannot or do not want to connect Spotify directly. Export the playlist, convert the file here, then import the JSON. The conversion runs in this tab.

No file selected. Nothing is uploaded.

How to use it

  1. Export your playlist with Exportify. You get a CSV file.
  2. Choose that file above. It is read locally, not uploaded.
  3. Download the JSON, or copy it straight to your clipboard.
  4. In Aurral, open Library > Playlists, open the create menu and choose Import playlist > JSON file.

Why convert at all

Connecting Spotify over OAuth is the direct route and works well. Converting a file is the route that always works, in three situations worth naming.

Accepted field names

The parser looks for these column names, case-insensitively, and takes the first match. This covers the layouts Spotify exports and the common third-party converters produce.

FieldAccepted column names
ArtistArtist Name(s), artistName, artist, Artist
TrackTrack Name, trackName, title, name, Track
AlbumAlbum Name, albumName, album, Album

Rows missing an artist name or a track name are skipped, and the count appears next to the result so you can tell whether anything was dropped.

What the JSON looks like

The smallest valid track needs two fields:

{
  "artistName": "Burial",
  "trackName": "Archangel",
  "albumName": "Untrue"
}

Album is optional and only improves matching. An artist ID, if your export includes one, helps Aurral link the track to the right catalogue entry.

Frequently asked questions

Does my file get uploaded anywhere?

No. The file is read with the browser FileReader API and parsed in this tab. There is no server call, so the file never leaves your machine.

How do I get an Exportify CSV?

Use Exportify to export your Spotify playlist, then bring that file here. Some people prefer this route because it needs no Spotify connection at all.

What columns does it expect?

Spotify column names such as Track Name, Artist Name(s) and Album Name. The parser accepts several common aliases for each field and skips rows missing an artist or track name.

What JSON format does it produce?

A bare array of tracks by default, or an object with a playlists array if you tick the wrap option. Both shapes are accepted by a self-hosted playlist importer.

Will the JSON import actually download the music?

It gives you the playlist. Aurral then searches your configured download clients for anything you do not already own.

Then let Aurral fetch the music

The import only builds the playlist. A download client handles the rest, and anything you already own is reused rather than fetched again.