Releases: BrkBuilds/Canvas-Downloader
Release list
Canvas Downloader v2.0.2 - Windows & macOS
Canvas Downloader batch-downloads your Canvas course materials to your own computer and keeps them in sync. It runs entirely on your machine, needs nothing but your own Canvas account, and is free.
2.0.2 makes the app faster everywhere, adds a searchable directory of 4,750+ verified Canvas schools to the login screen, and fixes several bugs that could cost you work. If you are upgrading, the fixes under Fixed: your files are the ones worth reading.
New
Find your university on the login screen. A searchable directory of 4,750+ verified Canvas institutions now sits beside the URL field. Pick yours and the address fills itself. It opens on your own country, and search ignores accents, so kobenhavn finds Københavns Universitet and goteborg finds Göteborg. It is a shortcut and never a gate: if your school is not listed, type the address exactly as before.
Save a lecture as a link, not just a file. A new Panopto output writes a shortcut straight to the recording (.url on Windows, .webloc on macOS). It costs no bandwidth, no disk and no time, and it takes you back to the lecture with the slides, the screen capture and Panopto's own search still attached. A companion to the offline copy, not a replacement for it.
Turn Panopto off completely. One switch in Settings. Off means no institution lookup, no discovery, no acceptable-use dialog and no recordings in any download or sync. It skips the work and not just the result, which on a university with no Panopto saves dozens of pointless handshakes per run. Your per-folder settings are preserved rather than erased, so switching it back on resumes exactly what you had chosen.
Name your own courses. A saved course-folder pair can be given a name that means something to you, and it shows up everywhere that pair appears, including retroactively in your sync history. The name follows the pair when you move the folder.
One place for saved pairs and groups. Saved pairs, groups and daily-sync membership now live in a single store keyed to a stable id instead of a folder path. Moving a folder keeps its name, deleting and re-adding a pair no longer resurrects the old one, and a change in the hub shows up on the Today page immediately.
A time estimate that means something. Scanning, downloading, converting and transcribing all estimate through one model that learns from the run in front of it. A course that opens with 26 zero-byte shortcuts used to show "Estimating" for 90 seconds and then a figure roughly seven times the truth.
A step tracker across both flows. Download and sync each show you where you are, and you can click back to a step you have already passed. Quick Sync shows the Review step struck through, because it genuinely skips it.
Help text you can turn off. Settings > Show help text hides the explanatory cards and captions once you know the app. Nothing operational is hidden: errors, counts, empty states and the reason a control is unavailable all stay.
Faster
Pages open roughly four times faster. Click to usable went from a measured 2046 ms to 487 ms (median). The course list is no longer fetched while the page renders, and switching modes no longer throws that list away.
Transitions no longer flicker. The loading overlay used to lift a median 1.5 seconds after the page had finished, and up to 7.9 seconds. During a long run it covered the app's own progress screen for a flat 8 seconds. Visible churn during a transition is down from a mean of 351 ms to 53 ms.
Dialogs no longer flash. Opening any dialog briefly brightened the whole window to twice its settled brightness. That was Streamlit's own two-layer backdrop. It is one layer now, and the entrance is smooth.
Fixed: your files
- A file Canvas listed could be missing from the review screen entirely. When two files in a course shared one internal filename, one of them was dropped from every category: not new, not up to date, not deleted. That is now impossible by construction, and it is asserted over 500 generated course states.
- Re-downloading a course could remove the protection on a file you had edited. The record of what was originally downloaded was being rewritten from whatever was on disk, so a later sync saw your edited file as untouched and was free to overwrite it.
- A converted file could be re-offered as "deleted" for ever. 62 of 63 Office conversions left their tracking pointing at the source they had just replaced, which showed up as "63 Deleted locally" on the next sync.
- A half-written PDF could replace your only copy of a document. The check that decides whether the original may be deleted now requires a complete file, not just a plausible-looking start.
- Word, Excel or PowerPoint could be closed with your unsaved document still in it. Two separate causes: a failed conversion closed whatever document happened to be in front, and the app could mistake your own Office window for the hidden one it had started.
- Your saved login could be lost by a failed save. On macOS the Keychain deletes before it writes, so a refused write left nothing behind.
- Course files kept in iCloud with Optimize Mac Storage are supported, and a sync no longer pulls a whole course back down just to look at it.
Fixed: macOS
- After an app update the window could sit empty for 30 to 90 seconds. macOS raises a Keychain prompt when the app signature changes, and it was blocking the page from rendering at all, with no explanation anywhere. The app now explains the dialog before it appears and signs itself in once you answer. It also tells you to choose Always Allow: measured, plain Allow leaves the prompt coming back on every single launch, for ever.
- Office conversion is quieter and cleaner. Apps you already had open are never quit, apps this app opened are, and its temporary entries no longer pile up in Office's Recent list.
- It no longer asks for Accessibility permission. It never needed it, and it is the worst prompt macOS has: there is no Allow button, and the wording says "control this computer".
- Course folders on external drives, on case-sensitive volumes, and with Danish or other accented filenames are all handled correctly.
Licence
This release relicenses Canvas Downloader from MIT to GPL-3.0-or-later. If you are just using the app, nothing changes: it is still free, still open source, and still does everything it did before. If you have forked or reused the code, the new terms apply from this version onward.
Download
| Platform | File | Requirements |
|---|---|---|
| Windows | Canvas_Downloader_v2.0.2_Windows.exe, or the Microsoft Store |
Windows 10 or 11, 64-bit |
| macOS | Canvas_Downloader_v2.0.2_macOS.dmg |
Apple Silicon, macOS 14 or newer |
The direct downloads are unsigned, so Windows shows a SmartScreen warning and macOS shows a Gatekeeper warning. Code-signing certificates cost money every year on both platforms, and keeping the app free means not buying them. The Microsoft Store build is signed and shows no warning.
Setup guides walk through those dialogs for your exact version: Windows and macOS.
Links
Website · Full guide · How it works · Privacy · Report a problem
Free, open source, GPL-3.0 licensed. Nothing is uploaded anywhere: it runs entirely on your own machine and reads only what your own Canvas account can already open.
Canvas Downloader v2.0.1 - Windows & macOS
Canvas Downloader v2.0.1 - Windows & macOS
Batch-download your entire Canvas course library, keep it in sync all semester, convert everything into AI-ready formats, and download & transcribe your Panopto lecture recordings - 100% free, open source, and running entirely on your own computer.
🌐 Website & guides: https://canvasdownloader.app/
✨ What's in 2.0
- Sync Mode - link a folder to a Canvas course once, then pull every new file with one click. The engine tracks 7 file states (new, updated, edited-by-you, deleted, ignored…), never overwrites your edits, and never deletes your files.
- The Today page - put syncing on autopilot: the app automatically syncs your chosen courses the first time you open it each day, and shows you exactly which files arrived today, per course.
- Panopto lecture recordings - automatically finds the recordings linked in your courses and saves them as video (MP4) or audio (MP3), plus transcripts (.txt) and subtitles (.srt) generated by on-device speech recognition (faster-whisper). Nothing is ever uploaded - transcription runs 100% locally, with optional NVIDIA GPU acceleration on Windows.
- AI Optimization suite - one toggle converts PowerPoint/Word/Excel to PDF (Excel also gets a structured data file), videos to MP3, Canvas pages to text, code files to .txt, unpacks archives, and gathers web links - so your whole course can be dragged straight into NotebookLM, ChatGPT, or Claude.
- Quick Download presets - five ready-made configurations (Complete Canvas Download, Daily study pack, 100% AI & NotebookLM Ready, Slides & PDFs Only, Files Only). Pick one and go.
- Quality of life - saved sync groups & pairs, download presets, sync history, native notifications, cancel-anytime, error logs, size filters, and a live progress dashboard.
💾 Downloads
| Platform | File | Requirements |
|---|---|---|
| 🪟 Windows | Canvas_Downloader_v2.0.1_Windows.exe (below) - or get it from the Microsoft Store with no SmartScreen warning |
Windows 10/11, 64-bit |
| 🍎 macOS | Canvas_Downloader_v2.0.1_macOS.dmg (below) |
macOS 11+ on Apple Silicon (M1 or later). Intel Macs are not supported |
Microsoft Office (PowerPoint/Word/Excel desktop apps) is only needed for the Office→PDF conversions. Everything else works with no extra software.
🪟 Windows install
- Run the installer. When SmartScreen appears, click "More info" → "Run anyway" (one time only).
- Done - launch Canvas Downloader from the Start Menu.
Prefer no warning at all? Install from the Microsoft Store instead - same app.
🍎 macOS install
- Open the
.dmgand drag Canvas Downloader into Applications. - First launch:
- macOS 13/14: right-click the app → Open → Open.
- macOS 15+: double-click (it gets blocked), then System Settings → Privacy & Security → Open Anyway.
- Follow the interactive Mac setup guide - it walks you through every permission dialog for your exact macOS version in ~2 minutes.
ℹ️ macOS shows a few one-time permission prompts (Keychain, folder access, Office automation) because the app is free and unsigned. Each appears once. After an app update, the Keychain prompt appears once more - click Always Allow with your Mac login password.
🔒 Why the security warnings?
Code-signing certificates cost $99-300/year, and this is a free student project - so the direct installers are unsigned. The warning means "unknown publisher", not "dangerous". The complete source code is public in this repository, and the app has no backend, no analytics, and no telemetry: your token and files never leave your machine. Read more: security & privacy.
Full guide: https://canvasdownloader.app/guide.html
Found a bug? Open an issue
v2.0.0 Canvas Downloader for MacOS (ARM64) M-chips
MacOS Release .dmg TEST 1. Size: ~124mb
📦 Installation Instructions (macOS)
- Download the Canvas_Downloader_macOS.dmg file from the assets below.
- Open the .dmg and drag Canvas Downloader into your Applications folder.
- First Launch Security Bypass:
- Because the app is not signed with a paid Apple Developer ID, macOS will block it with an "unidentified developer" warning.
- How to open: Right-click the app in your Applications folder and select Open. Click Open again in the pop-up dialog. You only need to do this once.
Prerequisite: Ensure you have Google Chrome installed, as the app uses it for the interface.
🛠 Technical Notes
- Architecture: Python 3.13 / Streamlit 1.51 / CustomTkinter.
- Distribution: PyInstaller (One-dir + BUNDLE).
- Automation: Uses AppleScript bridges to replicate Windows-style Office COM automation for PDF conversions.
- For detailed instructions and security tips, see the README.md.
Canvas Downloader v1.0.0
Release v1.0.0 — Initial Release 🚀
This is the first official release of the Canvas LMS Batch File Downloader.
✨ Key Features
- Complete Course Mirroring: Automatically replicates your Canvas Modules as local folders and downloads all files uploaded to your course.
- Bulk Downloading: Download multiple courses at once.
- Study Mode: Use the "PDF & PowerPoint only" filter to ignore clutter and focus only on core course material.
- Smart & Fast: Built with asynchronous downloading for high-speed transfers and smart Retries for robust, fast and seamless downloading.
- Extensive Support: Downloads Files, Modules, Panopto Videos, Pages, and External Links.
- Privacy First: Your API Token and course data never leave your computer.
- Languages: Supports English (default) and Danish, including dynamic error handling in both languages.
🛠 How to Use
- Launch: Run Canvas_Downloader.exe.
- Authenticate: Enter your Canvas URL and your API Access Token.
- Select: Choose the courses you want to download.
- Download: Select your destination folder and watch the magic happen!
⚠️ Important Security Notes (Windows)
Because this is an independent, open-source project, you may see two warnings:
- Windows SmartScreen: "Windows protected your PC." Click More Info -> Run anyway.
- Firewall Prompt: The app uses a small local web server to display its interface and also needs access to communicate with the Canvas API. Click Allow Access to let enable this functionality (otherwise app won't work)
📝 Technical Details
- Engine: Powered by Python & Streamlit.
- Concurrency: Utilizes asyncio for parallel downloads without triggering Canvas rate limits.
- Compatibility: This .exe is compiled for Windows 10/11 (64-bit).
Found a bug? Have a suggestion? Feel free to open an issue on GitHub.