While mobile devices have native offline support for Coursera, PC users are left in a difficult spot. If you want to study on your laptop without an internet connection, or if you want to archive a course before your subscription expires, the standard advice is to install a heavy Android emulator. That is too much overhead for a simple requirement.
Many previous scraping tools have stopped working as of January 2026, so I decided to build a custom browser extension to solve this. This tool downloads videos and reading materials, automatically renaming and arranging them into a proper sequence on your local machine.
The Goal
We are archiving course content—specifically videos (MP4) and reading materials (PDF)—directly from the browser to a local folder. The extension handles the file organization, ensuring that Module 1 > Video 3 is named and sorted correctly.
Prerequisites and What You'll Need
- A Chromium-based Browser: Google Chrome, Microsoft Edge, or Brave.
- Active Course Access: You must be enrolled in the course you intend to download.
- The Extension Files: Downloaded from the GitHub repository below.
The Setup: Installing the Extension
Since this is a custom tool not listed on the Chrome Web Store, we need to "sideload" it using Developer Mode.
1. Download the Source
Get the latest source code from my GitHub repository: Download ZIP
2. Extract the Files
Unzip the downloaded file.
Important: When you extract the ZIP, it often creates a parent folder containing another folder with the actual code. Open the folders until you see files like manifest.json. The folder containing manifest.json is the one you need to target in step 4.
3. Enable Developer Mode
Open your browser and navigate to chrome://extensions (or edge://extensions). Toggle the Developer mode switch in the top right corner.
4. Load the Extension
- Click the Load unpacked button.
- Navigate to and select the folder you identified in Step 2.
- The extension icon should now appear in your toolbar.
The Configuration & Usage
I designed the extension to be customizable based on your hardware and internet speed.
1. Customize Settings (Optional)
Click the extension icon to adjust:
- Parallel Downloads: I suggest setting this to 3. If you are on a slower computer, reduce it to 1.
- Content Type: Toggle whether you want only Videos, only Reading Material, or both.
2. The Scanning Logic
The extension relies on the DOM (the webpage structure) to find content. It can only download what is currently visible or "expanded" in the course sidebar.
- Navigate: Go to your Coursera course player.
- Expand Modules: In the left sidebar, click the dropdown arrows for the modules you want to download.
Tip: If you only expand "Module 1" and click Scan, it will only grab Module 1. To download the full course, expand all modules in the sidebar first. - Scan: Click the Scan Course button in the extension.
3. Start Archiving
Once the extension fetches the details (you will see the file count), click Start Download.
- The files will download to your default Downloads folder, organized by module.
- If you need to pause, use the Pause/Stop button in the extension menu.
4. Cleaning Up
If you switch to a different course, click Clear Cached Data within the extension. If you forgot to expand a module and need to try again, use the Rescan Course button.
Limitations and Bugs (Jan 2026)
This tool is a script interacting with a live website, so it has inherent limitations:
- DOM Sensitivity: If Coursera pushes a major update to their website structure, the scraper may break until I push a fix.
- Internet Speed: If your connection is slow, the script may timeout when trying to convert reading materials to PDF. In this case, try downloading videos first, then run a second pass for reading materials.
- Proprietary Formats: Some specific interactive reading materials use formats that cannot be easily converted to PDF; these may fail to download.
- Auto-Refresh: Occasionally, if you stop a download mid-way and return to the tab, the page may auto-refresh.
Disclaimer
Educational Purpose Only. This tool is intended for personal archiving of courses you have legally enrolled in, for offline viewing (e.g., traveling without internet). Do not distribute downloaded content. Use responsibly and in accordance with Coursera's Terms of Service.
For updates and the full source code, visit the GitHub Repository.
