Windows 11/10  ·  Requires FFmpeg  ·  Copy-paste commands

YouTube to MP3 with yt-dlp on Windows — Best Quality

Download YouTube audio as MP3 with embedded artwork and tags. Works for single videos, playlists, and channels. Requires FFmpeg for conversion.

⬇ Download yt-dlp.exe FFmpeg setup →

yt-dlp YouTube to MP3 — best quality command

This one command handles everything: converts to MP3, embeds cover art and ID3 tags.

Best quality MP3 with artwork and tags (recommended)
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata "VIDEO_URL"

What each flag does

  • -x — extract audio only
  • --audio-format mp3 — convert to MP3
  • --audio-quality 0 — highest VBR quality
  • --embed-thumbnail — embed cover art
  • --embed-metadata — embed ID3 tags

Requirements

  • ffmpeg.exe must be in the same folder as yt-dlp.exe
  • Without FFmpeg: conversion and artwork embedding won't work
  • See the FFmpeg setup guide if needed
Quality note: YouTube streams audio in Opus format at ~128–160 kbps. Converting to "320 kbps MP3" targets that bitrate but cannot add quality beyond the original source. Use --audio-quality 0 for the best possible output from what's available.

All yt-dlp MP3 download commands

Copy and paste into PowerShell. Replace the URL with your video or playlist link.

Constant bitrate — target ~192 kbps
yt-dlp -x --audio-format mp3 --audio-quality 192K --embed-thumbnail --embed-metadata "VIDEO_URL"
No re-encode — keep original Opus audio (best actual quality)
yt-dlp -f ba -x --audio-format best "VIDEO_URL"
Convert entire YouTube playlist to MP3
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata --yes-playlist -o "%(playlist_index)02d-%(title)s.%(ext)s" "PLAYLIST_URL"
Batch multiple URLs from a text file
yt-dlp -a links.txt -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata
Save to custom folder with artist/title naming
yt-dlp -x --audio-format mp3 --audio-quality 0 -o "C:/Music/%(artist,channel)s/%(title)s.%(ext)s" "VIDEO_URL"

File naming, tags and artwork tips

Output templates

  • %(title)s — video title
  • %(artist)s — artist (if available)
  • %(channel)s — channel name
  • %(playlist_index)02d — zero-padded track number
  • %(ext)s — file extension (mp3)

Skip already downloaded

Add this to any command to skip files you've already converted — useful for large playlists:

--download-archive downloaded.txt

Creates a log file and skips entries on re-runs.

YouTube to MP3 with yt-dlp — common questions

Is 320 kbps MP3 from YouTube actually high quality?
The MP3 file will be encoded at the 320 kbps bitrate target, but actual audio quality depends on the source. YouTube streams Opus audio at ~128–160 kbps. Re-encoding to 320 kbps MP3 cannot add detail that wasn't in the original. If audio quality is your priority, use -f ba -x --audio-format best to keep the original Opus stream without re-encoding.
Why does my MP3 have no cover art or tags?
FFmpeg must be in the same folder as yt-dlp.exe, and you need --embed-thumbnail --embed-metadata in the command. Without FFmpeg, yt-dlp cannot write artwork or ID3 tags. See the FFmpeg setup guide.
How do I convert an entire YouTube playlist to MP3?
Pass a playlist URL directly — yt-dlp will process all videos. Add --yes-playlist if yt-dlp asks to confirm, and use -o "%(playlist_index)02d-%(title)s.%(ext)s" for numbered, sorted filenames.
Where are the MP3 files saved?
By default, to the folder where you ran PowerShell. Use -o "C:/Music/%(title)s.%(ext)s" to control the output path. Forward slashes work on Windows.
Can I convert multiple URLs at once?
Yes. Create a plain text file (e.g. links.txt) with one URL per line, then run yt-dlp -a links.txt -x --audio-format mp3 --audio-quality 0.