Flat / aired alternative
Publish your site with its file paths intact.
Use Flat's CLI to publish a finished website folder, including nested assets and downloadable files. Each upload gets its own version link. You can also share documents in Flat's file browser.
Sharing individual files? Try the browser uploader. Start free.
Choose by the files you need to share
A website with separate assets or downloads
Your report links to a CSV. Your site has several HTML pages and an images folder. Publish that finished folder through Flat's CLI to keep those paths, so readers can follow the links and download the files.
For a document collection, leave out a root index.html. Visitors get a file browser with reading previews for supported documents and access to the originals.
One HTML page to share without an account
aired is a good fit for a small HTML report or prototype. You can publish without signing up, protect it with a PIN, and choose no expiry. Its hosted MCP server lets a compatible agent publish HTML.
Keep aired if that covers your workflow. Flat asks you to sign in within one hour to keep a signed-out upload online.
Flat vs aired
We checked aired's official docs on . Each comparison links to its source.
| What you need | Flat | aired |
|---|---|---|
| Publish a website folder | The CLI preserves your folder's file paths. Visitors can open HTML pages and download supporting files at their own URLs. | The CLI bundles a directory into one HTML page by inlining CSS, JavaScript, and images.Source |
| Share documents | Upload documents together for a file browser with previews for supported formats and original downloads. A root index.html opens as a website instead. | Publishes HTML. Its API takes an HTML string, so prepare an HTML page for the content you want to share.Source |
| Revise a published page | Each upload gets a separate version link. Point a named address or your domain to the new upload to keep one link for the latest copy. | Update an existing page with its ID and update token to keep the URL. The CLI stores those tokens on your device.Source |
| Set access and expiry | Set a visitor password or an expiry through the CLI or API. Flat does not have a delete-after-N-views setting. | Set a PIN, a time limit, or automatic deletion after a chosen number of views. You can also publish with no expiry.Source |
| Publish with an agent | Your agent can run the CLI or call the REST API to publish local files and folders. | Use its agent skill, CLI, HTTP API, or hosted MCP server. The MCP server exposes a publish_html tool.Source |
| Use your own domain | Connect your domain through the CLI or API, then point it at an upload. Flat hosts the files for you. | Its documented custom-domain route is self-hosting aired on your own Cloudflare Worker with KV and R2 storage.Source |
Publish a website folder
- Flat
- The CLI preserves your folder's file paths. Visitors can open HTML pages and download supporting files at their own URLs.
- aired
- The CLI bundles a directory into one HTML page by inlining CSS, JavaScript, and images. Source
Share documents
- Flat
- Upload documents together for a file browser with previews for supported formats and original downloads. A root index.html opens as a website instead.
- aired
- Publishes HTML. Its API takes an HTML string, so prepare an HTML page for the content you want to share. Source
Revise a published page
- Flat
- Each upload gets a separate version link. Point a named address or your domain to the new upload to keep one link for the latest copy.
- aired
- Update an existing page with its ID and update token to keep the URL. The CLI stores those tokens on your device. Source
Set access and expiry
- Flat
- Set a visitor password or an expiry through the CLI or API. Flat does not have a delete-after-N-views setting.
- aired
- Set a PIN, a time limit, or automatic deletion after a chosen number of views. You can also publish with no expiry. Source
Publish with an agent
- Flat
- Your agent can run the CLI or call the REST API to publish local files and folders.
- aired
- Use its agent skill, CLI, HTTP API, or hosted MCP server. The MCP server exposes a publish_html tool. Source
Use your own domain
- Flat
- Connect your domain through the CLI or API, then point it at an upload. Flat hosts the files for you.
- aired
- Its documented custom-domain route is self-hosting aired on your own Cloudflare Worker with KV and R2 storage. Source
Free publishing and upload limits
Flat plans
Free includes 5 MiB per upload, 1 GiB of storage, and 5 GiB of monthly transfer. The upload limit covers all files in that upload. Signed-in uploads have no default expiry.
Free includes named onflat.page addresses and visitor passwords. Starter is €9 a month for 100 MiB per upload, 50 GiB of storage, 100 GiB of monthly transfer, and 1 custom domain.
aired is free without an account
aired documents a 2 MB limit per HTML page and five publishes per hour per IP address. Pages expire after seven days by default. You can choose a different time limit or no expiry.
Its docs list no paid tier. If you need higher limits, they point you to self-hosting. That means running your own Cloudflare infrastructure.
Flat uses MiB and GiB; aired publishes its limit in MB. Check the bundled HTML size for aired, including any inlined assets.
Publish a copy of your site on Flat
Start with your finished files
Use the original website folder you gave to aired, or your self-contained HTML file. Build or export your project first if needed. For a folder, keep index.html at its root.
With Node.js 20 or newer, run this command. Replace ./site with your finished folder or ./index.html for a single page.
npx -y @getflat/cli deploy ./siteOpen the returned URL and check your page links, images, and downloads. Flat serves your finished files. It does not run a build or backend code.
Keep the link and set access
Run npx -y @getflat/cli login before the one-hour expiry to keep a signed-out upload. For future revisions at one address, sign in and publish to a named onflat.page address or connect your domain.
An aired PIN and update token do not transfer. Set any visitor password again through Flat's CLI or API. Your aired.sh URL stays with aired, so share the new Flat link after checking it.
Try an HTML file or a few documents.
Choose files from your device and open the published link. Browser uploads are public and ask for your email while signed out. Sign in within one hour to keep them online.
Checking your upload limits... · Public · Limits
Drop your files here
or choose files from your device.
Select filesName your main HTML file index.html to open it at the main link. The browser uploader puts selected files at the top level. Use the CLI for folders; extract ZIPs before publishing.
Before you switch from aired
Can Flat host HTML made by an AI agent?
Yes. Publish HTML that works in a browser, including its assets. An agent can use Flat's CLI or REST API. If your workflow needs a hosted MCP server with a publish_html tool, aired documents that option. Flat does not run an AI tool's app runtime or server-side code.
Can I keep the page I already bundled with aired?
If you have the bundled HTML file, publish it as index.html. To restore separate file paths, publish your original site folder instead. Flat does not unpack inlined images or stylesheets back into their source files.
Can I share a PDF or spreadsheet without converting it to HTML?
Yes. Upload the original to Flat. Visitors can read a PDF or preview a supported spreadsheet and download the source file. Preview support depends on the format and file; a file without a preview remains available to download. See document previews.
Can Flat delete a page after a set number of views?
No. You can set a time-based expiry through the CLI or API. Keep aired if you need its delete-after-N-views setting. In either service, visitors can retain copies they already saved.
Publish the folder you already have.
Keep your website paths and check the result at its own version link.