Three Ways to Persist Your Work
URL Hash
Share a link with your exact layout encoded in the URL
LocalStorage
Save and load layouts from your browser’s storage
3MF Export
Download your design as a 3D-printable file
URL Hash Sharing
The most powerful feature: your entire layout is encoded in the URL hash.How It Works
When you design a layout, the app serializes:- Grid size (columns, rows)
- All bins (position, size, features)
- Bin configurations (dividers, labels, colors)
- Groups and organization
#...).
Example URL
# contains your complete design.
Sharing Your Layout
- Click Copy Share Link in the toolbar
- The URL is copied to your clipboard automatically
- Paste the link in:
- Email, Slack, Discord, etc.
- GitHub issues or pull requests
- Documentation or wikis
- Bookmarks for your own reference
URL Sharing Benefits
- No server required: Works offline after initial load
- No expiration: Links never expire (as long as the app is hosted)
- Version control: Save different URLs for different layout versions
- Collaboration: Share with teammates for feedback
PWA Clipboard Support
If you’ve installed Gridfinity Builder as a PWA (Progressive Web App):- The app uses the browser’s native clipboard API
- Works even when offline
- Fallback to manual copy if clipboard access is denied
LocalStorage Save/Load
For quick iteration, use browser localStorage to save and load layouts.Saving a Layout
- Design your layout
- Click Save in the toolbar or sidebar
- Enter a name (e.g., “Workshop V2”)
- Layout is saved to browser storage
Loading a Layout
- Click Load in the toolbar or sidebar
- Select a saved layout from the list
- Layout replaces your current design
LocalStorage Details
- Storage location: Browser’s localStorage (per-domain)
- Capacity: ~5-10 MB (depends on browser)
- Persistence: Survives browser restarts
- Scope: Only accessible on the same device/browser
When to Use LocalStorage
| Use Case | Recommended |
|---|---|
| Quick save during design | ✅ Yes |
| Multiple layout versions | ✅ Yes |
| Sharing with others | ❌ No - use URL hash |
| Long-term backup | ❌ No - export 3MF or bookmark URL |
Managing Saved Layouts
- Delete: Remove layouts you no longer need to free up storage
- Overwrite: Save with the same name to update an existing layout
- List: View all saved layouts in the Load dialog
LocalStorage Limitations
Browser-Specific
Layouts saved in Chrome won’t appear in Firefox (even on the same device). Each browser maintains its own localStorage.Device-Specific
Layouts saved on your desktop won’t sync to your phone. Use URL sharing for cross-device access.Clearing Browser Data
Private/Incognito Mode
In private browsing:- localStorage works during the session
- All data is deleted when you close the browser
- Use URL sharing instead for persistent access
3MF Export
While not a “sharing” feature per se, exporting as 3MF creates a permanent file.Export Options
- Export Single Bin: Download one bin as 3MF
- Export All Bins: Download entire layout as multi-object 3MF
File Details
- Format: 3MF (3D Manufacturing Format)
- Contains: Watertight STL meshes, metadata
- Opens in: PrusaSlicer, Cura, Bambu Studio, etc.
- Size: Typically 50-500 KB per bin
Learn More
See the 3MF Export guide for detailed instructions.Comparison: URL vs LocalStorage
| Feature | URL Hash | LocalStorage |
|---|---|---|
| Sharing | ✅ Copy & paste link | ❌ Not shareable |
| Cross-device | ✅ Works anywhere | ❌ Device-locked |
| Offline | ✅ After first load | ✅ Always |
| Persistence | ✅ Permanent (if saved) | ⚠️ Until cache cleared |
| Backup | ✅ Bookmark URL | ❌ Manual export |
| Speed | ⚠️ Long URLs | ✅ Instant load |
| Privacy | ⚠️ Visible in URL | ✅ Local only |
Best Practices
For Personal Use
- Work in progress: Save to localStorage frequently
- Finished designs: Copy share link and bookmark it
- Final version: Export 3MF to print
For Collaboration
- Share drafts: Send URL hash link for feedback
- Iterate: Make changes, generate new share link
- Final approval: Share both URL and exported 3MF
For Documentation
- Include URL links in READMEs or wikis
- Screenshot the 2D or 3D view
- Export 3MF and attach to GitHub releases
URL Encoding Details (Advanced)
For developers and power users:Encoding Process
- Serialize: Convert Zustand store state to JSON
- Compress: Optional gzip compression (future feature)
- Encode: Base64 encode the JSON string
- Append: Add to URL as hash fragment
Decoding Process
- Extract: Read hash from
window.location.hash - Decode: Base64 decode to JSON string
- Parse: JSON parse to object
- Restore: Populate Zustand store with layout data
URL Length Limits
Most browsers support URLs up to 2,000 characters. Gridfinity Builder URLs typically:- Simple layout (5 bins): ~500 chars
- Medium layout (20 bins): ~1,500 chars
- Complex layout (50 bins): ~3,500 chars ⚠️
Troubleshooting
Share Link Not Copying
Cause: Browser denied clipboard accessSolution: Manually copy the URL from the address bar
Layout Not Loading from URL
Cause: Corrupted hash or old versionSolution: Clear the hash and start fresh, or load from localStorage
LocalStorage Full
Cause: Browser localStorage quota exceededSolution: Delete old layouts, or clear browser data
Private Mode Warning
Cause: localStorage cleared on browser closeSolution: Use URL sharing exclusively in private/incognito mode
Privacy & Security
No Server Uploads
Gridfinity Builder never uploads your data:- ✅ All processing happens in-browser
- ✅ No analytics or tracking
- ✅ No accounts or login required
- ✅ Works fully offline (after first load)
URL Sharing Privacy
When you share a URL:- ⚠️ Layout data is visible in the URL (encoded but not encrypted)
- ⚠️ Anyone with the link can see your design
- ⚠️ URLs may appear in browser history, server logs
Next Steps
- Learn about 3MF Export for printing
- Try Layout Templates to get started quickly
- Use Keyboard Shortcuts to work faster
- Explore the Bill of Materials to estimate costs
