Canvas has no button that downloads everything. Here is every route that works, what each one really collects, and which to pick.
On this page
There is no button in Canvas that downloads everything from every course. That is the honest starting point, and it is why this question gets asked so often. What Canvas gives you is a per-course zip of one particular tab, and that tab is frequently not where your slides actually live.
Below is every route that works, what each one really collects, and where each one stops. Four of the five need no software at all, so start there and only go further if they fall short.
Canvas has exactly two bulk exports available to a student, and they cover different things:
Neither one touches Pages, Assignment descriptions, announcements, discussions, quizzes or the syllabus. Nothing built into Canvas exports those in bulk, which is the part most people are surprised by. When a student asked precisely this on the Instructure Community forum in October 2024, the accepted answer ended with "As for Pages and Assignments, I'm not sure of a quick way off the top of my head." That is still the state of it.
"Can't I just export the course?" No, and this trips
up a lot of people. Canvas does have a full course export that produces
an .imscc package containing everything, but it is an
instructor permission. As a student you will not see the option, and
asking your instructor to run one for you is a real request rather than a
formality.
This is the built-in route and it is the right first thing to try.
Ctrl +
A (Windows) or Cmd + A (Mac) to
select everything.You get the files and the folder structure exactly as the teacher arranged them. For a tidy course that is genuinely all you need.
Worth knowing: a file being missing from the Files tab does not mean you cannot open it. It means it is not listed there. You can still reach it through the module, one click at a time.
Separate feature, commonly confused with the one above because several university help pages describe it under a heading about downloading "your files". This one collects the documents you handed in.
There are two routes. The export is the thorough one:
Or browse them directly under Account then Files then My Files then Submissions, where there is a folder per course. Anything you embedded with the rich content editor sits in Uploaded Media instead.
The export contains the files exactly as you submitted them. It does not include instructor-annotated versions, and it carries none of your grades or feedback comments. That is worth knowing before you assume you have saved everything: the annotated copy of your dissertation draft is not in this zip.
Several Chrome extensions scan the page you are currently looking at and offer to download every file they can see on it. Some go a step further and follow links into Pages to find attachments the Files tab does not list.
What they are good at: speed and zero setup. You are already logged in, so there is no token to create and nothing to install beyond the extension. For grabbing one messy module quickly, an extension is hard to beat.
What to weigh up: an extension that can read your Canvas pages can read whatever else you have told it it can read, so the permissions it asks for are worth reading before you click Add. They work per page rather than per account, so "all my courses at once" is not normally on offer. They cannot fetch anything that is not reachable from a page you have open, and they have no memory of what they fetched last time, so every run starts from scratch.
There are good open-source scripts that talk to the Canvas API directly. They tend to be the most flexible option in existence: if you can read the code, you can make it fetch exactly what you want, in exactly the layout you want, on a schedule.
The cost is that you need Python or Node installed, you need to be comfortable in a terminal, and you need to keep the thing working when something changes. That is a fine trade for some people and a wall for most. If you are studying computer science, this is probably your best option and you should ignore the rest of this page.
This is what Canvas Downloader is, and since this is our site you should read this section knowing that. It is free, open source and the entire codebase is public on GitHub, so you can check every claim below rather than take our word for it.
It signs in with an access token you create yourself in Canvas, then uses the same official API the Canvas mobile apps use. Because it works at the account level rather than the page level, it can do the two things the other methods cannot:
Two things it adds that a one-off download cannot: it can sync, meaning the second run fetches only what is new or changed and leaves everything else alone, and it can save Panopto lecture recordings as video, audio, a transcript or subtitles, with the transcription running on your own machine.
The honest caveat: it needs an access token, and a small number of institutions have turned off students' ability to create one. If your Canvas account settings have no "New Access Token" button, no API-based tool can work for you, and Methods 1 to 3 are your options. Check before you install anything.
| What you want | Download as Zip | Submissions | Extension | Script | Canvas Downloader |
|---|---|---|---|---|---|
| All courses in one go | No | Partly | No | Yes | Yes |
| Files hidden in Modules or Pages | No | No | Some | Yes | Yes |
| Assignments, announcements, quizzes | No | No | No | Varies | Yes |
| Your grades and feedback | No | No | No | Varies | Yes |
| Panopto lecture recordings | No | No | No | Rarely | Yes |
| Only fetches what changed | No | No | No | Varies | Yes |
| Nothing to install | Yes | Yes | Extension | No | No |
| Works without an access token | Yes | Yes | Yes | No | No |
One course, tidy Files tab, need it now. Download as Zip. Do not install anything.
One messy module where the files are scattered through Pages. A browser extension will be quicker than anything else.
You are about to lose access and want everything. This is the case the built-in tools handle worst, because "everything" includes the parts Canvas does not export. See what happens to your Canvas account after you graduate.
You want your course folder to stay current all semester. Only a syncing tool does this. Everything else is a snapshot you have to keep repeating.
You are comfortable in a terminal. Use a script. You will get exactly what you want and you will understand every part of it.
You want the lecture recordings. None of the five above touch them, because Panopto is a separate system. See how to download Panopto lecture recordings, and read the permission section first.
Free and open source, for Windows and macOS. Runs on your own computer: no account, no server, nothing uploaded.
Not with anything built into Canvas. Canvas zips one course's Files tab at a time, and that zip leaves out Pages, assignments, announcements and quizzes. Downloading every course in one run needs a tool that talks to the Canvas API with an access token, such as a script or a desktop app like Canvas Downloader.
Because a file attached directly to a module item or embedded in a Page does not have to appear in the Files tab. The Files tab lists the course file store, not everything the course contains, so "Download as Zip" can miss material you can plainly see in the course.
Teachers can hide the Files tab, and that removes the built-in bulk download for that course. You can still open each file through the modules, use a browser extension on the module page, or use an API-based tool, which reads the modules rather than the Files tab.
Downloading material you already have access to, for your own study, is normally fine and it breaks no copy protection. What varies is your institution's own policy, especially about lecture recordings, and redistributing course material is not acceptable anywhere. Check your university's rules and see our acceptable use page.
No. Opening or downloading a file you have access to is not reported to your instructor. Canvas does record page views in its own access logs, exactly as it does when you browse the course normally.
It is a key you generate yourself in Canvas under Account then Settings, and it grants exactly what your own account can already reach - your courses, your files, your grades. It cannot reach other students' data, it is not your password, and you can revoke it at any time from the same screen.
Not through any Canvas export. Panopto is a separate system that Canvas links out to, so recordings have to be fetched from Panopto itself. Some tools handle this; check your institution's rules first, because recordings are the material universities restrict most often.
Only while you can still open the course. Once a course is concluded or your enrolment ends, the Files tab and the API both stop returning it. That is why the right time to do this is before the semester ends, not after.