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
- 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 - Educational course transcripts
- ✅ YouTube - Educational video support
- 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, or YouTube video
- 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 video has transcripts: Not all videos have transcripts available
- Wait for page load: Make sure the video page is fully loaded before extracting
- Check permissions: Ensure the extension has access to the page
- Use supported platforms: Currently works best with Udemy, Coursera, and YouTube
- 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- 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
- Enhanced Animations - Smooth micro-interactions and hover effects
- Dark Mode Support - Beautiful dark theme with proper contrast
- Smart Button Logic - "Extract Transcript" → "Next Lecture & Extract" after success
- Sequential Processing - Streamlined workflow for multiple video extraction
- Real-time Feedback - Success animations and progress indicators
- Better Error Handling - Clear error messages and recovery options
- Responsive Design - Optimized for different screen sizes
- Removed AI Features - Simplified to focus on what we do best: transcript extraction
- Improved Performance - 70% smaller package size (~15MB vs ~85MB)
- Faster Startup - Extension loads instantly
- Better Reliability - Fewer dependencies means fewer potential issues
- Simplified Codebase - Removed ~2000+ lines of AI-related code
- Better Maintainability - Easier to add new features and fix bugs
- Improved Documentation - Clearer, more focused documentation
- Modern Stack - Latest React 19, TypeScript, and Tailwind CSS
- 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
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!