Skip to the article
3dCMS Knowledge Base
Contact Open the editor
Publishing & Hosting

Download your site (static export)

Export a published site as a self-contained zip that runs on any static web host, plus the older scene.json / GLB export path.

Open in the interactive manual →

The interactive version has full-text search, a table of contents, and light/dark themes.


Your published site doesn't have to live only on 3dcms.info. Publish a scene, open the share dialog, and hit Export site (.zip). You get a single zip containing the whole thing: the 3D viewer, your scene, and every model, image, audio file and texture it references.

Hosting the zip

Unzip the folder and upload it (keeping its structure) to any static web host: nginx or Apache, S3/CloudFront, GitHub Pages, Netlify, an FTP web root. It works from a domain root or from a subfolder, because every link inside the bundle is relative. Then open the URL of index.html.

It has to be served over http(s) Double-clicking index.html from your desktop won't work: browsers block JavaScript modules on file:// addresses. Any real web server (or a local one-liner static server) is fine.

What's inside

  • index.html: the 3D viewer; start here.
  • scene.json: your scene's content.
  • assets/: the viewer code plus your uploaded media.
  • textures/, backdrops/, draco/, fonts/: the built-in files your scene happens to use, including the 3D text typeface.
  • README.txt: the same hosting notes, packed alongside.

Honest limitations

  • It's a snapshot. Republishing on 3dcms.info does not update a copy you already downloaded. Export again for a fresh one, or set up sync so your server refreshes itself on every publish.
  • Anything that needs the 3dCMS server is inactive in the copy: reactions, view stats, and the report button.
  • 3D text in Latin-1 characters (Western European letters and accents) works offline: the typeface is packed into the bundle. Characters outside it (Polish, Czech, Turkish, Cyrillic, Greek, CJK, emoji, arrows) are still fetched from a font CDN the first time they render, exactly as on the live site, and a node that needs them stays blank until they arrive.
  • Hot-linked images and audio don't come across. On 3dcms.info a file that lives on another website is fetched through a same-origin proxy, and a static host has no equivalent, so it's simply missing in the copy. Upload the file to your library and republish before exporting. A streaming HLS URL in a video block still works, because nothing proxies it (a YouTube page URL is not a video source: there is no YouTube embed).
  • Models ship at full size. The live site can hand a phone a pre-shrunk copy of a texture on request; a static host can't, so the bundle carries the masters. It looks identical and uses the same video memory, the visitor just downloads more, so a texture-heavy scene is a heavier page here than on 3dcms.info.
  • No text version. A visitor whose browser can't run WebGL 2 is told so and stops there. The plain-text mirror of every page is server-rendered on 3dcms.info and isn't part of the bundle, so the copy doesn't offer a link to it rather than sending them to your host's 404.
  • One page of crawlable text, and no share card unless you name your domain. The bundle's index.html carries the home page's title, description and text, so a link to it unfurls as text. The share card and a canonical address need to know where the copy lives: set Your domain and the next export includes the card, a canonical link, og:url and a sitemap for that address. Every other page's crawlable HTML is rendered by the 3dcms.info server and isn't in the bundle.
  • The bundle has one entry point. In-world page travel works while exploring, but reloading a deep /3d/… address gives your host's 404. Link people to the root URL.
  • Sites over 256 MB are refused. If you hit it, trim heavy videos or models, republish, and retry.

Built once per publish

The first download after a publish builds the zip; every later download of that same publish is served from the finished file, so a second click (or a sync pull from your own server) costs nothing. Builds run one at a time for the whole service with a short waiting line behind them. If the line is full, the download answers Exports are busy right now. Try again in N seconds instead of starting; wait that long and click again. Publishing again drops the old zip and the next download builds a fresh one.

Only the site's owner can export it, and the button appears once the scene has actually been published.

The zip export is a paid-plan feature "Download your site" is listed as included on Starter, Developer and Worldbuilder. Like every plan perk it only starts being enforced once memberships are switched on for the deployment you're using. Until then everyone can export. The raw scene.json / GLB exports below are never gated.

The other export

Settings ▸ Deployment also holds Export GLB, which downloads the whole scene as a single GLB model for use in other tools. It is a download, so it needs no account.

You probably don't need the build path Published 3dCMS sites are already plain, cacheable HTTPS with no special CDN or container required. Rolling your own build is for teams with an existing pipeline they'd rather keep: if you just want your site somewhere else, the zip above is the shortcut.
Spotted something off, or want a topic covered? Tell us, a person reads every message.