GitHub
Smart
Downloader

Download repositories, folders, single files, or selected paths as ZIP archives directly from GitHub.

No clone. No backend. No telemetry. Just the part of the repo you need.

No telemetry Local packaging MIT licensed
GitHub Smart Downloader toolbar popup with a Download Repository button, branch picker, exclusion packs, and GitHub API limit

Sometimes GitHub's
download button
is too blunt.

You need one folder from a repository that is hundreds of megabytes.

You want a few selected files without cloning the whole project first.

You need the ZIP now, from the page you are already reading.

Four steps.
No detours.

  1. Open GitHub

    Visit any repository, folder, or file page after installing the extension. No separate dashboard to log in to.

  2. Choose Scope

    Pick the whole repo, the current folder, selected paths, or a single file using GSD's injected controls.

  3. Prepare ZIP

    GSD fetches from official GitHub endpoints and packages the archive locally in your browser with JSZip.

  4. Download

    The browser download manager saves the archive. No redirect, no waiting on a third-party server.

A small utility,
visible at the right moment.

Three surfaces carry the product: controls in GitHub's file list, a compact toolbar popup, and settings for token-backed access.

01 / GitHub surface

Download controls live where the repository lives.

GSD adds checkboxes, file sizes, and download buttons to GitHub's own file list. Tick the files and folders you need and get one ZIP with the folder structure kept.

  • Checkbox selection
  • File sizes in the list
  • Single-file and right-click downloads
GitHub file list with GSD checkboxes and file sizes, three items selected, and a Download Selected bar showing the estimated size
Tick rows, check the estimated size, download one ZIP.
GSD toolbar popup in dark mode searching branches, with feature/auth-flow selected for a directory download
Branch search in the toolbar popup.

02 / Toolbar popup

Pick a branch, then download.

Search and switch branches from the popup, including names with slashes like feature/x. Commit and tag pages download that exact version.

  • Branch search
  • Active downloads
  • API limit visible

03 / Settings

Power controls stay out of the way until needed.

Add a read-only token for private repositories and a higher API limit, choose what to leave out of full-repository downloads, and tune the look.

  • Local-only token
  • Exclusion packs
  • Theme controls
GSD settings page with the GitHub Token card recommending a fine-grained read-only token, and the Exclusion Packs card
Token guidance, exclusion packs, and theme settings.
Open GitHub Choose scope Package locally Save ZIP

Lives inside GitHub.
Runs inside your browser.

  1. Scope you choose

    A whole repository, one folder, a single file, or any mix of ticked files and folders. Selections keep their folder structure in the ZIP.

  2. In-page controls

    Checkboxes, file sizes, and download buttons sit in GitHub's file list and follow your light or dark theme. Right-click any GitHub file link to download it directly.

  3. Packaged locally

    Files come straight from GitHub and are zipped in your browser, with no backend in between. Downloads from the same repository within a few minutes reuse one archive, saving bandwidth and API quota.

  4. Token-aware

    An optional read-only token opens private repos and raises GitHub's API limit from 60 to 5,000 requests per hour. Use a fine-grained token with Contents: read and Metadata: read. A classic token with the repo scope also works, but it grants write access to all your repositories, so keep it as a fallback.

  5. Live job feedback

    Each download gets a small in-page toast with file counts, a progress bar, and a cancel button. Failed or partial downloads are reported as such, never as complete.

  6. Exclusion packs

    Leave out node_modules, Python virtualenvs, Java/Maven output, build folders, and logs when you download a whole repository. Toggle packs per download or add your own.

Your repository
data stays between
GitHub and your browser.

GSD has no server, no analytics, and no accounts. Files are fetched from official GitHub endpoints and packaged in your browser. If you add a token, it stays in this browser's local extension storage, is not synced to your other devices, and is sent only to GitHub over HTTPS.

Read the privacy policy

No analytics or telemetry
No third-party backend
No uploaded repository contents
Token kept on this device, never synced
Official GitHub endpoints only

Official endpoints

  • github.com
  • api.github.com
  • raw.githubusercontent.com
  • codeload.github.com

Four actors.
One trust boundary.

Full architecture details on GitHub