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.
Export your site
Section titled βExport your siteβ- Click Publish at the right of the topbar.
- Choose Download site (ZIP).
A progress modal appears while Swebsy builds your pages and bundles all styles.
- A ZIP file downloads when the export completes.
Optimize the ZIP
Section titled βOptimize the ZIPβThe ZIP holds readable, formatted code and your images exactly as uploaded by default. For smaller files, turn on Settings β Performance & Security β Optimize Downloaded ZIP. It strips whitespace and comments from the HTML, CSS and JavaScript and compresses images with your image preset, which makes the files harder to edit. The setting is saved with the site, and deploys are always optimized.
Preview the code first
Section titled βPreview the code firstβTo read the output without downloading anything, open View β View Code
(ββ§C). It shows the generated HTML, CSS and JavaScript for the selected page.

Whatβs in the ZIP
Section titled βWhatβs in the ZIPββββ index.html # homepageβββ about.html # one file per pageβββ blog/β βββ first-post.html # a page whose file name has a folderβββ 404.html # your 404 page, or a default oneβββ README.md # what this folder is and how to edit itβββ AGENTS.md # tells coding agents to edit in Swebsyβββ 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 SearchEach page is a <page>.html file. A page whose file name includes a folder,
such as blog/first-post, goes in that folder. 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.
Editing the exported code
Section titled βEditing the exported codeβ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 Import does not read this ZIP back β so changes made in these files can never return to the editor. The next export overwrites the folder completely. File and style names are generated, so hand edits get lost.
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
.swebsybackup 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.
Optimize images
Section titled βOptimize imagesβBy default your images are exported exactly as you uploaded them. On a photo-heavy site that is usually 90%+ of the download.
Pick a preset under Settings β Performance & Security β Images to re-encode them:
- 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 preset applies to both deploy integrations, and to the ZIP when Optimize Downloaded ZIP is on. 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.
Host the ZIP
Section titled βHost the ZIPβ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:
rsyncor FTP the folder contents to your web root
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.