Sharing Projects
Publish a read-only link to a project from the desktop app or the browser, choose who can open it, invite people by email, and keep the shared copy up to date.
Share publishes a read-only copy of your project at a link. People who open it can browse the files, schematics, board and mechanical views, download the project, and fork it into their own account. You choose whether anyone with the link can open it or only the people you invite.
The shared copy is a snapshot. It changes only when you publish again.
Share a project
Share is in the bottom toolbar, next to the branch button. A green dot on it means the project is published.
On desktop you need to be signed in: the popover offers Sign in if you are not. In the browser, Share appears on projects you own.
- Click Share. The header shows Private until the project is published.
- Optionally invite people and choose who can open the link (see below).
- On desktop, check What's included.
- Click Publish and copy link.
The link is copied to your clipboard and the header changes to Live, with the link and a Copy button. If the clipboard is blocked, the link is selected in the field so you can copy it yourself.
Who can open the link
General access has two choices:
| Choice | Who can open it |
|---|---|
| Anyone with the link | Anyone. No sign-in needed. |
| Only people invited | You and the people you invite. They sign in with the email address you invited. |
On a published project, changing General access takes effect when you click Publish changes.
Invite people
Type addresses into Invite people by email and click Invite. You can paste several at once, separated by commas, semicolons or new lines.
Each person shows in the list with a status:
| Status | Meaning |
|---|---|
| On publish | Desktop, before the first publish. The invitation is kept on this computer and sent when you publish. |
| Invited | They have access, and an invitation email is on its way. |
| Joined | They have opened the project. |
| Not sent | Desktop: the project was published but the invitations could not be sent. Click Send again. |
Invited people get an email naming you and the project, with the link. Remove someone with the x next to their address; they lose access to an invite-only project at once.
Limits and rules:
- Invite up to 20 people at a time, and up to 50 people per project.
- You can add up to 100 new addresses a day across all your projects.
- Your own address is never invited ("That's you — you already have access.").
- Your account's email address must be verified before you can invite people.
Choose the tabs visitors see
Opens with has three chips: Schematics, Board and Mechanical. The ones you select open, pinned, next to the project's README when someone visits. On a published project, click Publish changes to apply a new selection.
What's included
Desktop
Before the first publish, the popover lists exactly what will be uploaded: a summary such as 42 files · 3.1 MB · 18 left out. Click it to expand the Included list (with sizes) and the Left out list, which gives a reason for each item:
| Reason | What is left out |
|---|---|
| generated | Build output, caches and app state: .git, .pio, node_modules, .embedr-board, .pcb, .versions, .history, the .embedr/ folder (datasheet indexes, chats, agent files), KiCad local settings (.kicad_prl), lock files, backups and editor temp files. |
| looks secret | Files whose names suggest credentials: .env files, keys and certificates (.pem, .key, .p12, .pfx, .keystore, id_rsa...), secrets.h, arduino_secrets.h, credentials.json, *token*.json, service-account JSON, .netrc, .npmrc, Firebase client configs (google-services.json, GoogleService-Info.plist). |
| .gitignore | Anything excluded by the project's .gitignore files or .git/info/exclude. |
| link | Symbolic links. They are never followed. |
When files that look secret are found, the popover says how many were left out. Secret detection goes by file name only: a key pasted into main.cpp is still shared. Check your sources before publishing.
Browser
Every file in the project is included. The popover reminds you: Every project file is included. Check for keys and credentials first.
Size limits
| Limit | Value |
|---|---|
| Files | 500 |
| Total size | 100 MB |
| Single file | under 25 MB |
A project over a limit cannot be published; the popover says which limit was hit. Add large generated files to .gitignore to bring it under.
Update, change or stop sharing
Once a project is live, the footer has:
| Button | What it does |
|---|---|
| Update shared copy | Publishes your latest saved files to the same link. On desktop, only files that changed are uploaded (Syncing 3 of 3 files...). |
| Publish changes | Replaces Update shared copy when you changed General access or Opens with. Publishes those settings with your latest files. |
| Make private | Asks for confirmation ("The link stops working for everyone."), then unpublishes. |
Save your files before updating; unsaved editor changes are not included.
Moving or renaming a shared folder (desktop)
The first time you publish, Embedr adds a project id to embedr.yaml so the link follows the project if you rename or move its folder. The popover tells you when it will do this. If embedr.yaml cannot take an id (for example, it has a syntax error), the popover says the link will not survive renaming or moving the folder.
If you open a copy of a shared project from a different folder, for example after restoring from a backup or copying it to another drive, Share shows This project was shared from another folder with the original path, and two choices:
| Button | Use it when |
|---|---|
| Keep that link | It is the same project, moved here. This folder takes over the existing link. |
| Share separately | It is a separate copy. This folder gets its own link when you publish it. |
Links are remembered per computer and per account; signing in with a different account shows that account's sharing.
What viewers see
A shared link opens the project in the browser, read-only. A bar at the top says Read-only public revision and offers:
| Button | What it does |
|---|---|
| Download files | Downloads the shared files as a .zip. |
| Download firmware | Shown when the shared copy includes built firmware. Downloads it. |
| Fork project | Copies the project into the viewer's own account, where they can edit, build and run the agent. Signed-out viewers see Sign in to fork. |
If the shared copy includes firmware for a board that can be flashed from the browser, viewers can also flash it with Flash over Web Serial. See Build, upload and serial.
The README and the tabs you chose under Opens with are pinned open. Markdown shows as a preview, and the terminal asks the viewer to fork first.
Invite-only projects
When a project is shared with specific people:
- A signed-out viewer sees Sign in to view project name and a Sign in button. They must sign in with the email address that was invited.
- A signed-in viewer who was not invited sees You don't have access to this project and Ask the owner to invite their email. They can click Sign in with a different account to choose another account, or Back to projects.
- If their email address is not verified yet, the page asks them to verify it and open the link again.
A link that was made private, or never existed, shows Project not found.
