Back up your Fusion 360 designs to GitHub with one click, keeping a full version history in Git.
This is a free add-in for Autodesk Fusion 360. Every time you click its button, it saves your design to GitHub as a new commit. As long as the repository stays intact, you can go back to any earlier version β if you break a design, lose a file, or just want to see what a part looked like three weeks ago. (Git history is durable but not immutable; see Known limits.)
No programming knowledge required. If you can install Fusion 360, you can use this.
- πΎ One-click backup β click a button in Fusion, type a short note, done
- π Full version history β each backup is its own commit; the add-in never overwrites or deletes an earlier one
- π¦ Multiple file formats β saves your design as F3D, STEP, STL, IGES, or SAT (you pick)
- π Automatic logbook β keeps a
CHANGELOG.mdfile listing what changed and when - π₯ Easy sharing β send anyone a link to view or download your designs
- π Private if you want β GitHub lets you keep your designs completely private, for free
GitHub was built for programmers, so it uses a few odd words. Here's all you need to know:
| Word | What it actually means |
|---|---|
| Repository (or "repo") | A project folder on GitHub that remembers every version of its contents |
| Commit | One saved snapshot, with a note about what changed |
| Branch | A named snapshot line β each backup this add-in makes gets its own |
| Push | Uploading your snapshot to GitHub |
The add-in handles all of this for you. You just click the button.
- Autodesk Fusion 360 (Windows or Mac)
- A free GitHub account β sign up at github.com (the free plan is all you need, and your designs can be private)
- Git β the free program that talks to GitHub:
- Download from git-scm.com/downloads
- Run the installer and just keep clicking "Next" β the default options are correct
- Restart your computer afterwards
That's it. You do not need to learn to use Git β the add-in uses it behind the scenes.
-
Download this project: click the green Code button at the top of this page, then Download ZIP, and unzip it anywhere.
-
Find your Fusion add-ins folder:
- Windows: press
Windows key + R, paste this, and press Enter:%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns - Mac: in Finder press
Cmd + Shift + G, paste this, and press Enter:~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns
- Windows: press
-
Create a new folder there called
FusionToGitHub, and copy everything from the ZIP'ssrcfolder into it β all the files, not just some of them. -
Restart Fusion 360.
-
Turn the add-in on: in Fusion, open the UTILITIES tab, click ADD-INS, find "Push to GitHub (ZAC)" in the Add-Ins list, and click Run. (Tick "Run on Startup" so it's always available.)
You should now see a Push to GitHub button in your toolbar.
Button not showing up? Restart Fusion completely and check the Troubleshooting Guide.
You only do this once per project.
- Go to github.com/new (sign in if asked)
- Give the repository a name, e.g.
my-fusion-designs - Choose Private if you don't want the world to see your designs
- Click Create repository
- Copy the page's web address from your browser's address bar β it looks like
https://github.com/yourname/my-fusion-designs
- In Fusion, click the Push to GitHub button
- The dropdown at the top is already set to "π Set up new GitHub repository..." β leave it
- Paste the web address you copied into the GitHub URL box (the add-in tidies it up automatically β you can leave the Repository Name blank and it will figure it out)
- Click Browse⦠to pick a folder on your computer for local copies, or accept the suggested one
- Click OK
The add-in sets everything up and pushes your first backup right away. From now on, your project appears in the dropdown, ready to use.
Two one-time questions may pop up on your first push β both are normal:
- The add-in may ask for your name and email. Git stamps every snapshot with them, like signing your work. Type them once and you're done.
- A window may ask you to sign in to GitHub. Follow the prompts once and it remembers you.
- Open your design in Fusion
- Click Push to GitHub
- Type a short note about what you changed β e.g. "made the bracket holes 5mm"
- Click OK
A success message tells you exactly what was backed up. That's the whole workflow.
Each backup gets its own snapshot branch with a name like fusion-export/Bracket-20260708-143022 (design name + date + time). To see your files on GitHub:
- Open your repository page
- Click the branch dropdown (it says
mainnear the top-left) - Pick any snapshot to view or download the files from that moment
The add-in never overwrites an earlier snapshot β each is its own commit, and they stay available as long as the repository does. (Teams that want to review and merge snapshots into main should read the Team Guide.)
In the dialog's Export Formats section you can pick any combination:
| Format | Choose it when⦠|
|---|---|
| F3D | You want the complete Fusion file β sketches, timeline, everything (recommended: always keep this on) |
| STEP | You share parts with people using other CAD software |
| STL | You 3D-print your parts |
| IGES | Someone asks for it (older CAD software) |
| SAT | Someone asks for it (ACIS-based CAD software) |
The default (F3D + STEP + STL) is a good all-round choice.
The add-in explains problems in plain messages and keeps your work safe: it never deletes or overwrites an earlier backup. The three most common hiccups:
| Problem | Fix |
|---|---|
| No button in the toolbar | Restart Fusion completely; check the files are in the right folder (see Installing above) |
| "Git executable not found" | Install Git from git-scm.com with default options, then restart your computer |
| Sign-in / permission errors | Make sure you can open your repository's page on github.com while signed in; then try again |
- See what happened: expand Logging in the dialog and click Open Log Fileβ¦
- More help: the Troubleshooting Guide covers everything else
Short version:
- By default, the add-in doesn't touch your credentials at all β it runs
git, and Git's own Credential Manager handles the one-time browser sign-in. - Optionally (Windows), you can store a Personal Access Token via Manage Tokenβ¦; it goes into Windows Credential Manager and is passed to Git through a throwaway helper that never writes it to disk.
- Prefer a fine-grained token limited to the one repository, with Contents: Read and write and nothing else.
- Never put a token in a repo file, a remote URL, a commit message, a screenshot, or a bug report. If one leaks, revoke it on GitHub right away.
Full details β exactly what is stored where, how to delete vs. revoke a token, and how to report a security problem β are in SECURITY.md.
- Version:
0.3.1. The runtime constant, the add-in manifest, the CLI--version, the UI/log banner, the docs, and the Git tag all report the same string, and a CI test (tests/test_runner.py,T_VERSION) fails the build if they drift.0.3.1is a corrective release: earliermaincarried an internal version label that never matched the0.3tag. SeeCHANGELOG.md. - Operating system: Windows or macOS. The optional stored-token feature is Windows-only; on macOS you rely on Git Credential Manager's browser sign-in.
- Autodesk Fusion: current Fusion, any recent version β it uses the stable design-export API (F3D / STEP / STL / IGES / SAT). DWG/DXF are intentionally not offered; Fusion's export API does not produce them.
- Git: a recent Git (2.20+) with Git Credential Manager enabled β the
default in modern Git for Windows / macOS installers.
gitmust be onPATH(or at the Windows fallbackC:\Program Files\Git\bin\git.exe). - You create the GitHub repository yourself on github.com; the add-in never creates one via the API.
- Every push makes a new branch (
fusion-export/<design>-<timestamp>); it never pushes straight tomain. Merging snapshots intomainis a manual step β see the Team Guide. - Backups: this backs up exported CAD files to a Git branch. It is a complement to, not a replacement for, Fusion's own cloud version history. Keep both. Uncommitted changes in the target local repo are auto-stashed and restored; if a restore fails, the add-in tells you how to recover them.
- History is durable, not immutable. A successful push creates Git history, and this add-in never rewrites or deletes it. But Git history can be altered: anyone with write access can force-push over a branch, delete a branch, or delete the whole repository, and GitHub itself can have outages or close an account. Treat this as a strong safety net, not a permanent archive β keep an independent backup of anything you cannot afford to lose.
- History grows: every export is kept as its own commit, and CAD files are binary β a long-lived backup repo can get large (there is no Git LFS integration).
- Automated tests: 18, run in CI on Ubuntu + Windows across Python
3.10β3.12 (
python tests/test_runner.py). The Fusion UI itself is verified by the manual checklist intests/MANUAL_TESTS.md.
- Create an (empty) repo on github.com/new β Private is fine β and copy its URL.
- Install the add-in (above) and click Push to GitHub in Fusion.
- Leave the dropdown on "Set up new GitHub repositoryβ¦", paste the URL, pick a local folder, click OK.
- Answer the two one-time prompts if they appear (your Git name/email, then a GitHub sign-in window).
- The first backup pushes automatically. After that: open a design β click the button β type a note β OK.
| Guide | What's in it |
|---|---|
| Getting Started | The full first-time walkthrough with more detail |
| User Guide | Every feature explained β formats, templates, subfolders, tokens |
| Quick Reference | One-page cheat sheet |
| Installation Guide | Detailed install instructions for both platforms |
| Team Guide | Working with multiple people on shared designs |
| Troubleshooting | Fixes for every known problem |
Extra features in the dialog (click to expand)
- Commit / branch templates β customize how snapshot names and notes are generated using
{filename}and{timestamp}placeholders - Export Subfolder β keep exports organized in a folder inside the repository (e.g.
exports/) - Branch Name Override β push to a specific branch name of your choosing; if the branch already exists, the add-in asks and then adds the new version to it
- Force Push (skip pull) β for when your local copy and GitHub disagree and you want your version to win
- Use Stored Token (Windows only) β store a GitHub Personal Access Token in Windows Credential Manager so you're never asked to sign in; set it up via Manage Tokenβ¦ in the Advanced section. Prefer a fine-grained token scoped to just this repo with Contents: Read and write β see SECURITY.md.
- Log Level β turn on DEBUG logging when investigating a problem
For developers (click to expand)
Project layout: the add-in lives in src/ (Push_To_GitHub.py is the Fusion UI; fusion_git_core.py and dialog_helpers.py are Fusion-free modules), docs in docs/, tests in tests/.
Testing β 18 automated tests, including end-to-end git pipeline tests against local repositories:
python tests/test_runner.py
CLI harness β run the whole git pipeline without Fusion (useful for CI):
python src/push_cli.py --repo C:\path\to\repo --files exports/model.step --design-name BracketV4
How a push works: stash local changes β pull latest β create snapshot branch β copy exports in β update changelog β commit β push β restore your original branch and changes. Conflicts abort cleanly; cancellations restore everything.
Contributing: bug reports and pull requests welcome β please include your OS, Fusion version, and the log file (~/.PushToGitHub_AddIn_Data/PushToGitHub.log) with any bug report, and add tests for new functionality.
Free and open source under the MIT License.