# [thingport-grab-v1.6.0](https://github.com/TautvydasDerzinskas/Thingport/compare/thingport-grab-v1.5.0...thingport-grab-v1.6.0) (2026-10-17) ### Bug Fixes * **import:** stop flagging models that mention robots as a MakerWorld CAPTCHA, and let a manual retry try again ([#18](https://github.com/TautvydasDerzinskas/Thingport/issues/18)) ([d70dcfe](https://github.com/TautvydasDerzinskas/Thingport/commit/d70dcfeac2c788686728598c6d3c61b9f4cce369)) * skip a stale MakerWorld defaultInstanceId when picking the print profile ([#15](https://github.com/TautvydasDerzinskas/Thingport/issues/15)) ([d5ae809](https://github.com/TautvydasDerzinskas/Thingport/commit/d5ae80951cf69a9a4db118eee4f68d332f0af17a)), closes [#14](https://github.com/TautvydasDerzinskas/Thingport/issues/14) ### Features * administration settings remake + OIDC support ([#49](https://github.com/TautvydasDerzinskas/Thingport/issues/49)) ([9a22386](https://github.com/TautvydasDerzinskas/Thingport/commit/9a2238691d8b079adf7bfb4becebc9cf01cb6cad)) * system notifications updates, Thingport grab in System health check, node 24+ ([#52](https://github.com/TautvydasDerzinskas/Thingport/issues/52)) ([358dfc1](https://github.com/TautvydasDerzinskas/Thingport/commit/358dfc1a03a178115642d41423f40586cd879b90))
Thingport Grab
A browser extension for Chrome, Edge and Firefox that imports MakerWorld, Thingiverse, and Printables models into your self-hosted Thingport instance without leaving the provider's site. Visiting a model, collection, or Thingiverse Likes page shows a floating Thingport icon; clicking it opens a small panel to pick what to import (and, for a single model, an optional destination collection), then imports it the same way Thingport's own "+ Add > Import" does.
It's useful without Thingport too: on MakerWorld model pages it adds a Download normalized button that turns the Bambu Studio project into a 3MF that PrusaSlicer, Cura and other slicers open with its colors and print settings intact. See Download normalized.
Get it from the Chrome Web Store, Firefox Add-ons or Microsoft Edge Add-ons.
It talks directly to your Thingport instance's API from the extension's background script -- no separate server, no data sent anywhere else -- and converts files in your browser. See the privacy policy for exactly what it stores and sends.
Screenshots
![]() Popup -- before setup |
![]() Popup -- connected, with recent imports |
![]() Popup -- dark mode |
Install
Chrome / other Chromium browsers
Install Thingport Grab from the Chrome Web Store -- click Add to Chrome, then click the new Thingport icon in your toolbar (it may be under the puzzle-piece Extensions button) and enter your instance's URL and your Thingport login. Chrome keeps it up to date from then on. Other Chromium browsers that install from the Chrome Web Store (Brave, Vivaldi, Opera with its Chrome extensions add-on) work the same way.
Alternative: install the Chrome build by hand
Only needed if you can't use the store, e.g. to try a build before it's been published there:
- Download
thingport-grab-chrome.zipfrom theextension-latestrelease and unzip it somewhere permanent (the browser loads the extension from that folder every time it starts, so don't delete it). - Open
chrome://extensionsand turn on Developer mode (top right). - Click Load unpacked and select the unzipped folder.
A hand-installed copy doesn't update itself -- repeat these steps for a newer version.
Firefox
Install Thingport Grab from Firefox Add-ons -- click Add to Firefox, then click the new Thingport icon in your toolbar (it may be under the puzzle-piece Extensions button) and enter your instance's URL and your Thingport login. Firefox keeps it up to date from then on.
Alternative: install the Firefox build by hand
Only needed if you can't use the store, e.g. to try a build before it's been published there.
Firefox refuses to install any unsigned extension outside of Developer Edition/Nightly, so this
is a Mozilla-signed .xpi rather than a zip -- CI signs one for self-distribution (the "unlisted"
channel) on every push to main (see Releases in the development
guide):
- Download
thingport-grab-firefox.xpifrom theextension-latestrelease. - Open it directly (double-click, or
File > Open Filein Firefox) -- or drag it onto a Firefox window -- and confirm the install prompt.
Microsoft Edge
Install Thingport Grab from Microsoft Edge Add-ons -- click Get, then click the new Thingport icon in your toolbar (it may be under the puzzle-piece Extensions button) and enter your instance's URL and your Thingport login. Edge keeps it up to date from then on.
Alternative: install the Edge build by hand
Only needed if you can't use the store, e.g. to try a build before it's been published there:
- Download
thingport-grab-edge.zipfrom theextension-latestrelease and unzip it somewhere permanent (Edge loads the extension from that folder every time it starts, so don't delete it). - Open
edge://extensionsand turn on Developer mode (in the left sidebar). - Click Load unpacked and select the unzipped folder.
A hand-installed copy doesn't update itself -- repeat these steps for a newer version.
Download normalized (no Thingport needed)
MakerWorld's files are Bambu Studio projects, which PrusaSlicer, Cura, Anycubic Slicer Next,
Creality Print, Elegoo Slicer and Snapmaker Orca often open without their colors or print settings.
On a MakerWorld model page, the extension adds a Download normalized button under MakerWorld's
own "Open in Bambu Studio" (or Download) button. Clicking it downloads the selected print profile's file, converts it, and saves
a <name>-normalized.3mf that keeps painted colors, filament colors, plates and the designer's
settings (walls, layer height, infill, supports). Multi-part objects may be merged into one,
per-object overrides and layer color changes are dropped, and you pick your own printer profile.
Hover the bulb on the button for the same summary.
- Who sees it: everyone who hasn't connected the extension to a Thingport instance, and people who have, when the slicer chosen in Thingport's Configuration > Slicer is one of those above (with Bambu Studio or OrcaSlicer picked, the original file is the right one, so the button stays hidden).
- Where it runs: entirely in your browser, the same conversion Thingport's "Open normalized" does on the server. The file goes nowhere but your downloads folder.
- Limits: you need to be signed in to MakerWorld, as for its own Download button, and files over 50 MB are too big to convert in the browser -- the button says so. MakerWorld's button is found by its label, so it only appears while MakerWorld is in English.
Setup
The popup asks for your instance URL (e.g. https://thingport.example.com) and your Thingport
email/password once. Until that's done, importable pages show a grayed-out Thingport icon; clicking
it explains what's needed and opens that same setup form (the toolbar popup, or the same form in a
tab where the browser won't let the extension open its popup itself). Saving requests permission to
reach that one origin and validates the login before storing anything. After that, the toolbar icon
turns from the dark/inactive icon to the color/active one, and the floating icon becomes the normal
import button. Reopen the popup any time to change the instance (the pencil next to its address) or
flip Extension enabled off to pause it without losing the saved setup.
The extension re-authenticates automatically as its session token nears expiry -- there's nothing to keep re-entering day to day. If your password changes or a session gets revoked server-side, the next import attempt will silently re-login with the stored credentials, or surface a clear error if those no longer work.
MakerWorld: no separate cookie setup needed
Importing from MakerWorld normally requires pasting a session cookie into Thingport's
Configuration > Providers by hand (MakerWorld's own site sets it HttpOnly, which blocks a normal web page from
reading it -- that's the whole reason for the manual copy/paste). This extension reads that same
cookie directly from your browser instead, using the cookies API -- a privileged, extension-only
capability explicitly allowed to read HttpOnly cookies, unlike a regular page's own JavaScript.
It's sent only to your own Thingport instance, as part of the same import request that needs it,
exactly like the cookie you'd otherwise paste in by hand -- never anywhere else. If your Thingport
account doesn't already have a MakerWorld cookie saved, the extension also connects MakerWorld in
Configuration > Providers for you, so the plain web app's own imports benefit too, not just ones started
from the extension.
What counts as "importable"
- A single model page (MakerWorld, a Thingiverse Thing, a Printables Model) -- hidden automatically once you've already imported that exact page.
- A MakerWorld collection, a Thingiverse Collection or Likes page, or a Printables collection -- lets you import the listed designs in one go.
Picking a destination collection is only offered for a single-model import; a batch import instead lands in Thingport's own auto-named collection for that batch (e.g. "Thingiverse likes (@username)"), matching how the web app's own batch imports already work.
A batch import keeps running on the server even if you close the panel or the tab -- closing it just stops showing progress, it doesn't cancel anything.
Synced collections
On a MakerWorld, Printables or Thingiverse collection page, the panel's Keep this collection in sync box (off by default) links the collection to its Thingport counterpart. A Thingiverse user's Likes page works the same way (Keep these likes in sync), filing into "Thingiverse likes (@username)" and picking up models they like later. Thingport then checks it once a day (or every hour or 6 hours, picked per collection) and imports models added to it later, pausing a minute between models, and sends a notification saying what came in. Models already on the page when you turn sync on, including any you leave unticked, aren't imported by the sync.
It works for collections you imported before, too: open the collection page, click the icon, and tick the box -- the panel says everything is already imported, and Save turns sync on. Sync can also be turned on in Thingport, from the collection's Sync configuration.
- Sync only ever adds. A model removed from the provider's collection stays in the Thingport collection and your library, and nothing is deleted on either side.
- A synced collection's tile in Thingport shows the provider's logo with a green sync bubble. Clicking it, or ... > Sync configuration, opens the collection's sync configuration: when it was last checked and when the next sync is due, Sync now and Stop syncing, and under Settings how often it's checked and, for MakerWorld, which print profiles each new model brings (the default one, all of the designer's, or all of them).
- The link follows the provider's collection id, so renaming the Thingport collection, or the provider's, keeps it synced. A provider collection syncs with one Thingport collection at most, and the other way round: if a collection of the same name already follows another source, the new one gets its own, named after the provider (e.g. "Things (MakerWorld)").
- If the provider rate-limits the imports (a MakerWorld CAPTCHA or daily download limit, say), the rest wait, paused, in the import queue until it's started again from Administration > Import queue.
- If the provider's collection is deleted, the Thingport collection is unsynced (its models stay) and you get a notification. Deleting the Thingport collection removes the sync with it.
- Sync now checks the collection right away instead of waiting for the next check, and a notification says how it went, "up to date" included. It's available again 5 minutes after the last check.
- To turn sync off, untick the box on the collection page, or use Stop syncing in the collection's sync configuration.
The synced collections guide walks through it end to end.
Privacy
Thingport Grab has no servers of its own and sends nothing to its developer or any third party -- only to your own Thingport instance and the provider site you're on. The privacy policy lists exactly what it stores, what it sends and where.
Contributing
The extension is TypeScript and SCSS, built per browser with esbuild. See CONTRIBUTING.md for the development setup, the code layout, building and packaging for the Chrome Web Store, Edge Add-ons and addons.mozilla.org, and how the screenshots above are generated.









