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.

  1. 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.

  2. 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.

  3. 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.

Related guides