Flat / Image hosting

Image hosting: upload images and share a link.

Publish images from your browser or the CLI. Send a preview link to your client or colleague, or use a direct image URL on your website.

Checking your upload limits... · Public · Limits

Drop your images here

or choose them from your device.

Select images

What people see at your image link

A single image opens in Flat's image viewer. Readers can fit it to the screen, view it at actual size, zoom, pan, rotate, or open it fullscreen.

Upload several images together and readers can choose a file from the explorer. Public links open without a Flat account. Each original image remains available to download.

An exact file path, such as /product.svg for the image shown here, serves the image itself. Use that URL when you need an image in a web page rather than a link to the viewer.

Flat's image viewer displaying a sample studio color guide, with zoom, rotation, fullscreen, and original-download controls.
product.svg in Flat's image viewerView full-size screenshot

How to upload an image and get a URL

Prepare your images

Export photos, screenshots, or graphics in a format your readers' browsers can display. JPEG, PNG, GIF, and WebP are common choices. Resize or compress files before publishing if you need smaller downloads. Flat serves the original files.

Upload in your browser

Drop one or more images into the uploader above, or select them from your device. Enter your email if signed out, then choose "Publish images".

Each file needs a unique name. Selected files publish at the top level. The browser uploader does not accept folders or extract ZIPs.

Deploy with the CLI

Install Node.js 20 or newer, then run this command from the directory containing your image:

npx -y @getflat/cli deploy ./product.svg

Replace ./product.svg with your image path. To publish a collection, pass its folder path instead. The CLI preserves relative file paths and prints the published URL.

CLI setup and sign-in

Open and share the URL

Check the image at the published link. Share the viewer for browsing, or copy the original-file URL for use in an image element.

Signed-out uploads expire after 1 hour by default. Sign in before expiry to keep them online, or sign in before publishing for no default expiry.

What you can publish with image hosting

Product photos and graphics

Share finished product images with a client or use their direct URLs on a website. Keep filenames clear so readers can find the right asset.

Screenshots and design reviews

Send screenshots or exported mockups for review. Collect comments in your existing conversation or review tool; Flat provides the files and preview.

Photo selections

Publish a set of photos in one upload. Readers can browse the file explorer and download individual originals. For a designed gallery, publish an HTML page with your images.

Choose your image format

Choose a format for the file you already have. Each guide covers preparation, direct image URLs, and browser compatibility.

JPEG and JPG

JPEG hosting for photos and finished graphics. Upload JPG or JPEG files from your browser or CLI, share a preview link, and keep the original image quality.

JPEG and JPG hosting guide

PNG

PNG hosting that preserves your original file and transparency. Upload logos, screenshots, or graphics from your browser or CLI and share a direct image URL.

PNG hosting guide

SVG

SVG hosting for logos, icons, and diagrams. Publish from your browser or CLI, preview your vector artwork, and use the original SVG URL in an image element.

SVG hosting guide

GIF

GIF hosting for short animations and visual demos. Upload from your browser or CLI, share a preview link, or embed the original animated GIF on your website.

GIF hosting guide

WebP

Host WebP images from your browser or CLI. Share browser previews and direct image URLs while preserving your file's compression, transparency, and animation.

WebP hosting guide

AVIF

Upload AVIF images from your browser or CLI. Share original files and browser previews, with guidance on encoding, compatibility, and website fallbacks.

AVIF hosting guide

TIFF

Host TIFF and TIF files from your browser or CLI. Share original scans and print assets, with clear browser preview limits and companion-image guidance.

TIFF hosting guide

BMP

Upload BMP images from your browser or CLI. Share a browser preview where supported and let recipients download the original bitmap for their tools.

BMP hosting guide

Keep a version, or keep an address.

Share this version

Every upload gets its own link. Publishing revised files creates a new link and leaves the earlier version unchanged. Use the version link when someone needs to review a specific upload.

Update files at one address

Use a named onflat.page address or your own domain. Sign in, then publish with the CLI using --domain. Publish revised files with the same domain to point that address to the new upload.

Named addresses are included on Free. Adding your own domain requires a paid plan. The browser uploader does not set up or repoint these addresses.

Image hosting questions

Is hosting free, and what are the limits?

Yes. Signed-in Free includes 5 MiB per upload, 1 GiB of storage, and 5 GiB of monthly transfer, with no default expiry. The per-upload limit covers all files in that upload. Paid plans raise these limits.

Compare hosting plans and limits

Do readers need a Flat account?

No. Public links open without a Flat account. Anyone with the link can open the uploaded files. Password-protected links also require the visitor password.

Can I password-protect my upload?

Yes. Password protection is available on every plan. Add --password YOUR_PASSWORD to your CLI deploy command. It protects access to the upload and its files, but does not prevent someone with access from saving a copy. The browser uploader creates public uploads.

Set a visitor password

Can I replace files without changing the link?

A version link always refers to its original upload. For same-address updates, use a named address or your own domain. Publish revised files with the same --domain value in the CLI to point that address to the new upload.

What happens when an upload expires?

Flat stops serving it. An expired upload cannot be recovered. Signed-out uploads expire after 1 hour by default. For browser uploads, use the sign-in link shown after publishing. For CLI uploads, run npx -y @getflat/cli login. Complete sign-in before expiry to keep the upload online. If you chose a shorter expiry in the CLI, that deadline stays in place.

Which image formats can I preview?

The image viewer recognizes JPG, JPEG, PNG, GIF, WebP, AVIF, SVG, BMP, TIF, and TIFF. Display depends on the browser's support for the format. If a preview does not load, readers can still download the original. ICO files use the file download view.

Can I embed a hosted image on my website?

Yes. Use the exact image URL, such as https://YOUR-ADDRESS.onflat.page/product.svg, as your image source. The main upload link opens Flat's viewer, which cannot be embedded in an iframe. Use a public upload for images that must load without a visitor password.

Does Flat resize or compress my images?

No. Flat hosts the original bytes. Zooming or rotating in the viewer only changes the view. To publish a smaller image or a different format, export it in your image editor and upload that file.

Can I prevent image downloads?

No. The viewer includes original-file downloads. Password protection controls who can open an upload, but anyone with access can save the images.

Share your next image with a link.

Upload your images, check the preview, and copy the URL.

Publish images

Free to start · View pricing

Sharing a complete web page? See HTML hosting.