How to Download a Folder from GitHub Without Cloning the Whole Repo
The fastest way is to paste the folder's URL into GitHubFolder, a free browser tool that zips up just that subfolder — no git, no account, no full-repo clone. If you'd rather use the command line, git's sparse-checkout feature or an old SVN trick can do it too.
Downloading a whole GitHub repository just to grab one subfolder wastes bandwidth and disk space, especially on large monorepos. GitHub's own web interface doesn't offer a "download this folder" button — it only lets you download the entire repo as a ZIP. This guide walks through every practical way around that limitation, starting with the simplest.
-
Paste the folder URL into GitHubFolder
Open the folder you want on GitHub, GitLab, or Bitbucket, copy the address bar URL (it will contain something like
/tree/branch/path), and paste it into GitHubFolder, a free tool built specifically for downloading a single repo subfolder. -
Review the file tree and check what you want
GitHubFolder fetches the folder's contents and displays every file and subfolder in a checkbox tree, all selected by default. Uncheck anything you don't need before downloading — no more guessing what you're about to get.
-
Download the ZIP
Click download and the selected files are fetched and zipped together entirely in your browser, then saved straight to your device. Nothing is uploaded to a server in between.
No install, no account
GitHubFolder works with public repos on GitHub, GitLab, and Bitbucket, needs no sign-in for most folders, and never requires you to install git or create a personal access token.
Other ways to download a GitHub folder
If you already have a git workflow, or you're scripting something, one of the alternatives below might fit better. Here's how they stack up.
| Method | Requires git installed | Requires GitHub account | File preview before download | Best for |
|---|---|---|---|---|
| GitHubFolder (this tool) | No | No | Yes | Quick one-off downloads, anyone |
| git sparse-checkout (CLI) | Yes | No | No | Developers who want an ongoing local checkout |
| SVN export trick | No | No | No | Scripting without installing git |
| Cloning the whole repo | Yes | No | No | When you actually need the whole project |
Using git sparse-checkout
Git's sparse-checkout feature lets you clone a repository without downloading every file, then tell git to only populate specific folders in your working directory. It requires git installed locally and a few extra commands compared to a normal clone, but once set up it works offline and stays in sync with the remote like any other git checkout.
It's the right choice if you plan to keep pulling updates to that folder over time rather than grabbing a one-off snapshot. See our full sparse-checkout walkthrough for the exact commands.
The SVN export trick
Because GitHub repositories expose a Subversion-compatible interface, you can check out a single folder using svn export against a URL shaped like the repo's /trunk/ path — no git installation required at all. It's a handy fallback on machines where you can't install git but do have SVN available.
See the full SVN export method for the exact command and URL format.