GuidesPlaylist Exporter for YouTube

Export a YouTube playlist to CSV or Excel

YouTube has no export button for playlists. There are still four ways to get one into a spreadsheet, and they differ mostly in which columns you end up with and how much setup they take.

Google Takeout, for your own playlists

Go to takeout.google.com, click Deselect all, tick YouTube and YouTube Music, and use the "All YouTube data included" button to leave only playlists. Google emails a download link when the archive is ready, which can take a few minutes or a few hours.

Each playlist comes out as its own CSV file, but the useful columns are only the video ID and the time the video was added. There are no titles, channels or durations, so you would still have to look every video up. Playlists that belong to other people are not included at all.

The YouTube Data API

If you are comfortable with a little code, the playlistItems.list call returns 50 rows at a time with the title, the video ID, the position, the channel that uploaded each video and the date it was added. You need a Google Cloud project with the YouTube Data API v3 turned on and an API key. Each call costs one unit of the 10,000-unit daily quota, so even a long playlist is cheap.

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId=PLAYLIST_ID&key=YOUR_KEY

Follow nextPageToken until it stops coming back. Durations are not in that response; they need a second call to videos.list with part=contentDetails, and they arrive as ISO 8601 strings such as PT9M52S. Private playlists need OAuth sign-in instead of a key, and Watch Later comes back empty whatever you do.

yt-dlp

yt-dlp is a command-line downloader, but it can also just list a playlist without downloading anything:

yt-dlp --flat-playlist --print "%(title)s;%(url)s" "PLAYLIST_URL" > playlist.txt

Open the text file in a spreadsheet and choose the semicolon as the separator. A title that contains a semicolon will spill into the next column, and YouTube rate-limits the tool from time to time, but for one playlist it usually works.

With Playlist Exporter for YouTube

This is the extension I wrote for it. It reads the playlist from the tab you already have open, the same way the page loads more rows when you scroll, so there is no API key and no separate sign-in.

  1. Open the playlist on youtube.com. A /playlist?list= page works, and so does a video page with the playlist in the side panel.
  2. Click the extension's icon in the toolbar.
  3. Pick CSV, or Excel with Pro. The first click scans the playlist while a small box on the page counts the rows, and then the file downloads.
  4. Open the file. The CSV is UTF-8 with a byte order mark, so accents and emoji come through when you double-click it in Excel. In Google Sheets use File, Import, Upload.
The Playlist Exporter popup over a 16-video playlist, showing Ready and the CSV, Excel, JSON, Markdown and Copy URLs buttons
After the scan. The popup keeps the result until you close the tab, so you can save it in another format without scanning again.
A progress box on the YouTube page reading 1,200 of 8,136 videos loaded, with a Cancel button
Long playlists load 100 rows at a time. This one has 8,136 videos and needs no scrolling.
#TitleURLChannelDuration
1The End of Mathematical Mountain Climbing - Numberphilehttps://www.youtube.com/watch?v=Zh86i_azaQwNumberphile6:46
2Blind Ranking Numbers (Matt Parker)https://www.youtube.com/watch?v=g9Exz_tR-nUNumberphile1:05
3All the Noble Polyhedra #maths #math #animationhttps://www.youtube.com/watch?v=VydHKLBXdVQNumberphile2:07
4Big News in Polyhedra - Numberphilehttps://www.youtube.com/watch?v=95335U-cUh8Numberphile25:47
5The Buckmaster Interview (Navier-Stokes) - Numberphilehttps://www.youtube.com/watch?v=Mzbtj5nkMXINumberphile46:05
The first five rows of a real export. With Pro the same file also has the video ID, channel link, length in seconds, views and the date each video was published or added.

Without Pro it saves the first 200 rows as a CSV file, or copies the links. Private, deleted and unavailable videos are marked in the file rather than dropped. It does not export watch history (Takeout is the only route for that), and it does not work on YouTube Music or the mobile site.

Updated 14 October 2026.