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.
- Open the playlist on youtube.com. A
/playlist?list=page works, and so does a video page with the playlist in the side panel. - Click the extension's icon in the toolbar.
- 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.
- 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.
| # | Title | URL | Channel | Duration |
|---|---|---|---|---|
| 1 | The End of Mathematical Mountain Climbing - Numberphile | https://www.youtube.com/watch?v=Zh86i_azaQw | Numberphile | 6:46 |
| 2 | Blind Ranking Numbers (Matt Parker) | https://www.youtube.com/watch?v=g9Exz_tR-nU | Numberphile | 1:05 |
| 3 | All the Noble Polyhedra #maths #math #animation | https://www.youtube.com/watch?v=VydHKLBXdVQ | Numberphile | 2:07 |
| 4 | Big News in Polyhedra - Numberphile | https://www.youtube.com/watch?v=95335U-cUh8 | Numberphile | 25:47 |
| 5 | The Buckmaster Interview (Navier-Stokes) - Numberphile | https://www.youtube.com/watch?v=Mzbtj5nkMXI | Numberphile | 46:05 |
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.