A powerful Chrome extension that automatically extracts and collects transcripts from educational video platforms. Built for content creators, students, and professionals who need quick access to educational content.
- One-Click Extraction - Extract transcript from any video instantly
- Smart Button Logic - "Extract Transcript" → "Next Lecture & Extract" after success
- Multiple Export Formats - TXT, Markdown, JSON, and RAG formats
- Universal Extractor - Captures video captions or readable article/document text from any webpage
- Modern UI/UX - Ultra-curvy design with 48px border radius
- Dark Mode Support - Beautiful dark theme with proper contrast
- Sequential Processing - Streamlined workflow for multiple video extraction
- ✅ Udemy - Full transcript extraction and batch processing
- ✅ Coursera - Course transcripts and reading materials
- ✅ YouTube - Video transcript extraction and playlist batch processing
- ✅ Universal Page Extractor - Captures subtitles from HTML5 video players or readable article/document text from any website!
- Visit the Chrome Web Store
- Click "Add to Chrome"
- Start extracting transcripts immediately
- Build the extension from source (see Option 3 below)
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top right toggle)
- Click "Load unpacked" and select the
distfolder - Pin the extension to your toolbar for easy access
# Clone the repository
git clone https://github.com/your-username/transcript-extractor.git
cd transcript-extractor
# Install dependencies
npm install
# Build the extension
npm run build
# Load the dist folder in Chrome extensions- Chrome browser (version 88+)
- Internet connection (for transcript extraction)
- Active account on supported platforms (for course access)
- Go to any Udemy, Coursera, YouTube video, or other webpage / web article
- Click the extension icon in your browser toolbar
- Click "Extract Transcript" (smart button)
- Choose your preferred format:
- TXT - Clean text for general use
- Markdown - Formatted for documentation
- JSON - Structured data for developers
- RAG - Optimized format for AI tools
- Transcript is automatically copied to your clipboard
- Or download as a file
- After extracting a transcript, the button changes to "Next Lecture & Extract"
- Click the button to automatically navigate to the next video
- The extension will:
- Navigate to the next lecture
- Extract the transcript automatically
- Show progress and success indicators
- Continue this process for multiple videos in a course
- Export all collected transcripts at once
- TXT Format: Plain text, perfect for general use
- Markdown Format: Formatted with headers and timestamps, great for documentation
- JSON Format: Structured data with metadata, ideal for developers
- RAG Format: AI-optimized format with video title and metadata, perfect for AI tools
- Ensure transcript/content exists: Not all videos have transcripts, and not all web pages have readable articles.
- Wait for page load: Make sure the target page is fully loaded before extracting.
- Check permissions: Ensure the extension has access to the page.
- Use supported layouts: Works seamlessly on Udemy, Coursera, YouTube, and standard web document layouts.
- Frontend: React 19 with TypeScript, Tailwind CSS, Lucide Icons
- Extension: Chrome Manifest V3, Content Scripts, Background Scripts
- Storage: Chrome Storage API, Local Data Persistence
- Build: Vite, TypeScript Compiler, Asset Bundling
User → Chrome Extension → Content Scripts → Platform Extractors
↓
Popup Interface → Export Options → Local Storage
↓
Background Script → Extension Service
src/
├── components/ # React components
├── lib/ # Utility functions
├── background.ts # Background script
├── content-script.ts # Content script
└── popup.tsx # Main popup component
dist/ # Built extension files
├── manifest.json # Extension manifest
├── background.js # Background service worker
├── content-script.js # Content script for page interaction
├── main.js # Main extension bundle
├── ui.js # UI components
├── main.css # Styling
└── index.html # Extension popup
- Local Processing - All data stays on your device
- No External APIs - No data sent to third-party services
- No Tracking - No telemetry or usage analytics
- Secure - Following Chrome extension best practices
- Lazy Loading - Components loaded on demand
- Code Splitting - Optimized bundle sizes
- Tree Shaking - Removed unused code
- Minification - Compressed production builds
- Build Command:
npm run build - Output:
dist/folder with complete extension - Size: ~15MB (significantly reduced from v3.x)
- Contents: Complete extension with all features
- Build the extension:
npm run build - Zip the
dist/folder contents - Upload to Chrome Web Store Developer Dashboard
- Fill in store listing details
- Submit for review
- Build the extension:
npm run build - Distribute the
dist/folder to users - Users can load via Developer Mode
- Or package as zip for IT deployment tools
dist/
├── manifest.json # Extension manifest
├── background.js # Background service worker
├── content-script.js # Content script for page interaction
├── main.js # Main extension bundle
├── ui.js # UI components
├── main.css # Styling
├── index.html # Extension popup
└── icons/ # Extension icons
- Extension not loading: Make sure Developer mode is enabled
- Transcript not extracting: Check if you're on a supported platform
- Permission errors: Ensure the extension has necessary permissions
- No transcript available: Some videos don't have transcripts
- Extraction failed: Try refreshing the page and trying again
- Button not working: Check if you're on a supported platform
- Check the GitHub issues page
- Contact support via email
- Review the documentation in the docs folder
- User-First - All features driven by user feedback
- Simplicity - Prefer simple, reliable solutions
- Incremental - Small, safe improvements over major changes
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Platform Integration - Help add support for new educational platforms
- Export Formats - Improve formats for specific use cases
- UI/UX Improvements - Enhance the user interface
- Testing - Improve test coverage and reliability
- Documentation - Help improve user guides and documentation
- Performance Optimization - Improve processing speed and efficiency
# Install dependencies
npm install
# Development build
npm run dev
# Production build
npm run build
# Type checking
npm run type-check
# Linting
npm run lint- HTML5 Video Captions: Scrapes text track overlays/cues from any HTML5 video player.
- Article & Document Extraction: Automatically pulls structured reading tasks, code blocks, headers, and text from standard articles/documentation.
- Dynamic Fallbacks: Safely falls back to body text and paragraphs when structured containers are not present.
- Coursera Support: Added complete transcript extraction and reading material capturing.
- YouTube Playlists: Extract structures and compile transcripts from full playlists.
- Udemy Support: Robust batch extraction and course structure scraping.
- Removed Heavy WebLLM Dependencies: Simplified codebase by removing large local model requirements, resulting in a lightweight unpacked package (~5.5MB).
- Vite Bundler: Optimized entry chunks for backgrounds, popups, and utility views.
- Automatic Deployment Checks: Included a deployment validation script to verify package builds before release.
- Secure Permissions: Restructured manifest permissions to follow Chrome extension best practices.
- 48px Border Radius - Ultra-smooth, pill-like appearance
- Professional UI/UX - Clean, modern interface with elegant styling
- Smart Button - Intelligent button that adapts based on extraction status ("Extract Transcript" → "Next Lecture & Extract")
- Enhanced Animations - Smooth micro-interactions and hover effects
- Dark Mode Support - Beautiful dark theme with proper contrast
This project is open source and available under the MIT License.
- Built with user feedback and iterative development
- Inspired by the need for better content extraction tools
- Developed with modern web technologies and best practices
Ready to extract transcripts efficiently? Install the extension and start saving time today!
⭐ If you find this extension helpful, please give it a star on GitHub!