YT Transcriber is a Windows desktop app that turns any YouTube video or playlist into a transcript saved as a plain text file. Paste one link or a hundred, pick an output folder, and hit Start. The app downloads the audio using yt-dlp, converts it to MP3 with ffmpeg, and transcribes it using Groq's Whisper large-v3 model. Files larger than 24MB are automatically split into 15-minute chunks, transcribed in parts, and reassembled into a single clean output. Playlists expand automatically into individual videos. Everything runs locally on your machine. No browser, no server, no terminal window.
- Python 3.9 or higher
- yt-dlp
- ffmpeg (includes ffprobe)
- A free Groq API key from console.groq.com
Option A: Browser
- Click the green Code button at the top of this page
- Click Download ZIP
- Extract the ZIP to a folder on your computer
Option B: Terminal
git clone https://github.com/zaydkhalid/yt-transcriber.gitOpen a terminal and run:
pip install groq customtkinterInstall yt-dlp:
pip install yt-dlpInstall ffmpeg by downloading it from ffmpeg.org and adding it to your system PATH. If you use Chocolatey or winget:
winget install ffmpegThe app reads your key from a system environment variable called GROQ_API_KEY. You only need to do this once.
- Press Windows + S and search for Edit the system environment variables
- Click Environment Variables
- Under User variables, click New
- Set Variable name to
GROQ_API_KEY - Set Variable value to your key from console.groq.com
- Click OK on all windows
- Restart any open terminals or apps
To verify it is set, open a new terminal and run:
echo %GROQ_API_KEY%It should print your key.
Double-click YT Transcriber.pyw to launch the app. No terminal window will appear.
If double-clicking opens a text editor instead, right-click the file, select Open with, and choose Python.
- Click Browse to select an output folder (or type a folder name to create one next to the script)
- Paste one or more YouTube links into the links box, one per line
- Click Start
Transcripts are saved inside your chosen folder under a Transcripts subfolder. Audio files are saved under MP3s. If a transcript already exists for a video, it is skipped automatically.
Some videos require authentication (age-restricted content, private playlists). To handle these, export your YouTube cookies from your browser and save the file as www.youtube.com_cookies.txt in the same folder as the script. The app will pick it up automatically. This file is listed in .gitignore and will never be committed to version control.
- customtkinter for the UI
- yt-dlp for audio extraction
- ffmpeg for audio splitting
- Groq Whisper large-v3 for transcription