Skip to content

Static site export

The static export produces a self-contained ZIP archive β€” one HTML file per page, a compiled stylesheet, and all assets. You can host it on any static server.

The Publish button at the right of the topbar lists every host, with the ZIP download below them. The same download is also in the Project menu.

  1. Click Publish at the right of the topbar.
  2. Choose Download site (ZIP).
  3. A progress modal appears while Swebsy builds your pages and bundles all styles.

  4. A ZIP file downloads when the export completes.
Exporting the site as a ZIP archive

The ZIP holds readable, formatted code by default. For smaller files, turn on Settings β†’ Performance & Security β†’ Minify Downloaded ZIP. It strips whitespace and comments from the HTML, CSS and JavaScript, which makes them harder to read. The setting is saved with the site, and deploys are always minified.

To read the output without downloading anything, open View β†’ View Code (βŒ˜β‡§C). It shows the generated HTML, CSS and JavaScript for the selected page.

The View Code drawer showing the generated HTML of the current page beside the canvas.
View Code shows the export for the current page, read only.
β”œβ”€β”€ index.html # homepage
β”œβ”€β”€ about.html # one file per page, at the root
β”œβ”€β”€ README.md # what this folder is and how to edit it
β”œβ”€β”€ css/
β”‚ └── styles.<hash>.css # every style, in one file
β”œβ”€β”€ js/
β”‚ └── swebsy-components.<hash>.js # only when a page needs it
β”œβ”€β”€ assets/ # uploaded images
β”œβ”€β”€ fonts/ # self-hosted fonts
β”œβ”€β”€ sitemap.xml # if enabled in Settings β†’ SEO & AI Search
β”œβ”€β”€ robots.txt
└── llms.txt # if enabled in Settings β†’ SEO & AI Search

Pages sit at the root as <page>.html, not in subfolders. The <hash> in the CSS and JS file names changes whenever their contents change, so browsers never serve a stale copy β€” which also means those file names are different in every export.

We don’t recommend editing these files by hand, and every HTML, CSS, and JS file in the ZIP opens with a comment saying so.

The export is a one-way build output. Swebsy edits its own project file, not the exported folder, and there is no import that reads a ZIP back β€” so changes made in these files can never return to the editor. The next export overwrites the folder completely. Class names and file names are generated as well, so hand-written selectors tend not to survive a rebuild.

Two things follow from that:

  • To change the design, change it in Swebsy and export again.
  • To keep an editable copy, use Project β†’ Export Project. That .json backup is the editable artifact β€” this ZIP is not. See Project backups.

A README.md in the ZIP root repeats this alongside a description of each folder.

On a paid plan the comment shrinks to a single neutral line, and neither it nor the README.md links back to Swebsy β€” the same way badge removal works.

By default your images are exported exactly as you uploaded them. On a photo-heavy site that is usually 90%+ of the download.

Turn on Settings β†’ Performance & Security β†’ Images to re-encode them during export:

  • Balanced β€” WebP at quality 80, resized to 2560px on the longest edge. Supported by around 96% of browsers.
  • Smallest β€” AVIF at quality 55, resized to 2048px. Smaller again, but roughly 5% of visitors use a browser that cannot display AVIF.
  • Custom β€” pick the format, quality, and maximum dimension yourself.

The setting applies to the ZIP export and to both deploy integrations. The deploy review modal and the export toast report the real before/after bytes.

Only PNG and JPEG images are re-encoded. SVGs, GIFs, and anything already in a compressed format pass through untouched, and an image is never replaced by a larger version of itself.

By default nothing is done to your originals β€” they stay in the project exactly as uploaded, so you can change the preset and export again at any time.

To stop re-encoding the same photos on every export, turn on Replace originals with compressed images, in the same settings or in the deploy review modal. Each image is then compressed once, on its next export or deploy, and the compressed copy replaces the original in your asset gallery. This can’t be undone, and a later preset change can’t bring back detail that was already removed.

If one particular image looks wrong after compression, open it in the asset gallery and turn on Keep original quality.

Two things worth knowing:

  • Re-encoding drops EXIF metadata. That also strips GPS coordinates from photos taken on a phone, which is usually what you want on a public site.
  • Images are converted to sRGB. A Display-P3 or Adobe RGB photo loses its wide gamut.

Unzip and upload the contents to any static host:

  • Netlify drop: drag the unzipped folder to app.netlify.com
  • Cloudflare Pages: upload the exported site through Cloudflare’s dashboard or CI
  • GitHub Pages: use the GitHub Pages deploy integration instead
  • Any server: rsync or FTP the folder contents to your web root
Common issues

Export hangs on large sites β€” building styles for a large site can take 10–30 seconds. Wait for the progress modal to close before navigating away.

Images missing in the ZIP β€” only assets that were uploaded via the Swebsy asset manager are bundled. External image URLs (hotlinked) are kept as-is.

Styles look different from the editor β€” the editor renders styles live; the export bundles them into a static file. If you see differences, try exporting again after saving all changes.