Flat / PDF hosting

PDF hosting: upload a PDF and share a link.

Publish PDFs from your browser or the CLI, then share the link. Readers can open your document in their browser without a Flat account.

Checking your upload limits... · Public · Limits

Drop your PDFs here

or choose them from your device.

Select PDFs

What readers see at your PDF link

Your proposal is ready. Upload the PDF, open its link to check the document, then send that link to your client.

A single PDF opens in Flat's PDF viewer. Upload several files together and readers can choose a document from the file explorer. They can read each PDF in their browser or download the original.

The viewer includes page navigation and zoom controls. An exact file path, such as /proposal.pdf, serves the original PDF.

Flat's PDF viewer displaying a sample website proposal, with page navigation, zoom, and download controls.
proposal.pdf in Flat's PDF viewerView full-size screenshot

How to turn a PDF into a link

Prepare your PDF

Export the finished document as a PDF from your editor. Flat hosts the original file and provides a browser viewer. To change the document later, edit your source and export a revised PDF.

Upload in your browser

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

Each file needs a unique name. Selected files publish together at the top level. For a folder of documents, use the CLI. 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 PDF:

npx -y @getflat/cli deploy ./proposal.pdf

Replace ./proposal.pdf with your file path. To publish several documents, pass a folder path instead. The CLI preserves its relative file paths and prints the published URL.

CLI setup and sign-in

Open and share the URL

Open the published link and check the document before sending it. For several PDFs, check that readers can find each document in the file explorer.

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

What you can publish with PDF hosting

Proposals and client documents

Send your PDF as a link in an email or message instead of attaching the file. Each upload has a separate version link, so a later upload does not replace the version you already sent.

Portfolios and resumes

Give someone one link to your exported PDF. They can read it before deciding whether to download it.

Catalogs, guides, and handouts

Share a PDF catalog, product brochure, or workshop handout online. If you plan to revise it at the same address, set up a reusable address before distributing the link.

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.

PDF 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.

Can I prevent downloads?

No. Readers can open and download the original PDF. Password protection controls access; it does not prevent someone with access from saving a copy.

Does a PDF-to-link converter change my document?

Flat creates a hosted URL for your PDF and displays the original document in a browser viewer. Your file stays a PDF. It does not become an editable HTML website or a flipbook.

Can I embed the PDF viewer in my website?

Flat's generated viewer cannot be embedded in an iframe and keeps Flat branding on every plan. Link to the viewer, or use the original PDF URL with your own compatible viewer.

Send a link to your next PDF.

Publish your document and check what your reader will see.

Publish PDFs

Free to start · View pricing

Have a finished web page instead? See HTML hosting.