This project provides a modern web application for extracting and downloading transcripts from YouTube videos. Built with Python (Flask) backend and a clean, responsive frontend, it offers an easy way to access video transcripts without any API keys or costs.
Clean and simple interface for entering YouTube URLs
Smooth loading animation while fetching transcript
Transcript display with download option
- Easy Transcript Extraction: Simply paste a YouTube URL and get the transcript
- Modern UI/UX: Clean, responsive design with loading states and error handling
- Free to Use: No API keys or authentication required
- Download Support: Save transcripts as text files
- Real-time Validation: Instant feedback on URL validity
- Backend: Python 3.7+ with Flask
- Frontend: HTML5, CSS3, Modern JavaScript
- APIs: youtube_transcript_api
- Design: Responsive CSS with modern aesthetics
youtube_transcript_app/
├── app.py # Flask application
├── requirements.txt # Python dependencies
├── static/
│ ├── css/
│ │ └── style.css # Application styling
│ └── js/
│ └── script.js # Frontend functionality
├── templates/
│ └── index.html # Main application template
└── README.md # Application-specific documentation
-
Clone the repository:
git clone <repository-url>
-
Navigate to the application directory:
cd youtube_transcript_app
-
Install dependencies:
pip install -r requirements.txt pip3 install -r requirements.txt
-
Run the application:
python app.py python3 app.py
-
Open
http://localhost:5000
in your browser
- Content creators needing video transcripts
- Students accessing lecture transcripts
- Researchers collecting video content
- Accessibility enhancement for video content
- Content analysis and text extraction
- Works only with public YouTube videos having available captions
- Respects YouTube's terms of service and public API limitations
- See detailed limitations in
youtube_transcript_app/README.md
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Support for multiple language selection
- Batch processing of multiple videos
- Advanced formatting options for downloaded transcripts
- Integration with other video platforms
- API endpoint for programmatic access
See the detailed limitations and known issues section in youtube_transcript_app/README.md
For any queries or support, please open an issue in the repository.
- YouTube Transcript API developers
- Flask framework community
- All contributors and users of this project