GitHub Folder Uploader

Drag a folder from Finder and push everything — including hidden dotfiles — to a GitHub repo in one commit.

Quick fill

Accepts any of these: johntan/my-website · https://github.com/johntan/my-website · …/tree/main/some/folder (also fills branch + folder) · git@github.com:johntan/my-website.git. Paste a token (github_pat_…) here and it goes into the token box.

1 · Connect

What it is: a password-like key that lets this tool upload to your GitHub account.
Where to get it: github.com → your photo (top right) → Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token. Give it a name, under Repository access pick your repo, under Permissions → Contents choose Read and write, then click Generate and copy it (it starts with github_pat_ and is shown only once).
What it is: which GitHub project the files go into, written as your-username/repo-name.
Where to get it: open the repo on GitHub and look at the address bar. For https://github.com/johntan/my-website type johntan/my-website (pasting the full link also works). No repo yet? Click + (top right on github.com) → New repository.
What it is: the line of history the files are added to. Most repos use main.
Where to get it: on the repo page, the button at the top left of the file list shows it (e.g. "main"). Leave blank to use the repo's default. Typing a new name (e.g. backup-nov) creates that branch.
What it is: where in the repo your files land. Blank puts them at the top level.
Example: backups/2026 puts your .gitignore at backups/2026/.gitignore. Folders that don't exist yet are created automatically.
What it is: a short note describing this upload, shown in the repo's history so you can find it later. You make it up yourself. Blank uses "Upload N files".

2 · Add files

Drop folders or files here Hidden files inside dropped folders are included automatically.
Tip: press ⌘ ⇧ . in Finder to see hidden files.

3 · Review & upload

No files yet
Files you add will appear here. Hidden files are highlighted.