Every free tier has a wall somewhere. On a private-link host the wall is not storage — it is time, and how many links you are allowed to keep. Here is exactly where each limit sits, what happens on day 8, and the three situations where free genuinely never runs out.
You uploaded a file, sent the link, and it worked. Somewhere in the back of your mind is the question every free tier eventually asks you: where's the catch, and when does it arrive?
On most free hosting the catch is storage — a number you will probably never hit. On a private-link host it isn't. The wall is time, and how many links you're allowed to keep. That's a much more useful thing to know up front, because it means you can predict the exact day it matters.
No account (/try) | Free account | Solo ($4.99/mo) | Studio ($14.99/mo) | |
|---|---|---|---|---|
| Per file | 3 MB | 10 MB | 25 MB | 50 MB |
| Storage in total | — | 10 MB | 100 MB | 500 MB |
| Links that never expire | none | 1 | unlimited | unlimited |
| Everything else | 7 days | 7 days | your choice | your choice |
| Password | ✗ | ✓ free | ✓ | ✓ |
| Set your own expiry date | ✗ | ✗ (7 days, or your always-on slot) | ✓ | ✓ |
| Search-indexable pages (opt-in) | none | 1 | 5 | unlimited |
| Who opened it | count only | count only | full | full |
| Email addresses captured | — | 15 | 500 | unlimited |
| Invite someone to edit | — | — | 1 | 3 |
Two rows do most of the work here.
"Links that never expire" is the real limit. Free gives you one. Not one at a time in a rotating sense — one slot. If you have a résumé on a permanent link and then need a second permanent link for a portfolio, that's the moment. Everything you upload beyond that lives 7 days.
The two 10 MBs are the same number, and that surprises people. Per file is 10 MB, and everything you're storing together is also 10 MB. So a single 9 MB file doesn't leave room for much else. It's not a trick — it's what "one file, delivered" is sized for.
And the row people get wrong most often: passwords cost nothing. They were briefly described as a paid feature across a batch of our own writing, which was wrong, and it stayed wrong for a while. A password is free on the free tier. A custom expiry date is the one control people assume comes with it and doesn't: on the free tier a page either runs its 7 days or takes your always-on slot, and picking any other date is a Solo and Studio setting.
The link stops resolving. Anyone who opens it after that sees an expiry page, not your file.
What happens to the file depends on whether it had an owner. On a free account it isn't deleted yet: it stays in your dashboard, marked expired, for about one more week. In that week you can set it back to a 7-day clock, or move it into your always-on slot if the slot is free, and the link you already sent starts working again at the same address. Once that second week has passed, the file is deleted for good, and no plan change retrieves it.
With no account at all there is no second week. Nobody owns an anonymous upload, so there is no dashboard for it to wait in; when its link expires, that's the end.
So treat the second week as a safety net, not the plan. The deadline that matters is still the upload's own 7 days: if a page turns out to matter more than you thought when you dropped it in, move it into your always-on slot before the week is up — or just upload it again, which takes seconds.
Because most delivery links are read within hours of being sent, and the honest default for a link nobody has committed to is short.
A 30-day free window sounds more generous and mostly produces abandoned pages: links that were live for a month, nobody opened after day one, and that quietly stop resolving anyway — except now the disappearance is a surprise. Seven days is roughly the real life of a send-and-review cycle. The always-on slot exists for the case where something needs to outlive it.
If you want the longer version of that argument, will a free link still work next year goes through what actually determines whether a link survives — and it's mostly not the price.
The numbers above are the plan page's numbers — the product enforces the same ones. If you are trying to work out which side of the wall you are on, that page is the shorter read.
Three situations. They're specific enough that you can check whether you're in one.
1. A second thing needs to stay up. This is the most common one by a distance. The free slot holds one permanent link. The moment two pages both need to be there next month — a portfolio and a résumé, two client deliverables that both stay live — you're over. Solo lifts the cap entirely rather than raising it to two.
2. The file is over 10 MB, or the pile is. A single self-contained HTML file with images inlined as base64 gets heavy quickly; a ZIP of a built site more so. And remember both ceilings are 10 MB, so several small files can hit the total before any one of them hits the per-file limit.
3. Other people are involved. Three different versions of this, all on the paid side: inviting someone to edit a page with you, seeing who opened a link rather than just how many did, and capturing more than 15 email addresses behind a page. Being invited as a collaborator is always free — it's inviting that's the paid part.
Also three, and between them they cover a lot of real work.
1. You're sending something once. A draft for review, a report a client will read this week, a deck going to three people before a call. Seven days is longer than that conversation lasts. This is the case the free tier is actually built around.
2. You keep one small permanent page. A résumé, a link-in-bio, a single-page site, a menu with a QR code on it. That's precisely what the always-on slot is for, and there's no clock on it.
3. Whatever you're sending needs a password. It's free. It's been free the whole time.
Different jobs, and the free tiers are shaped by that difference.
GitHub Pages hosts a public site indefinitely, rebuilt from a repository every time you push. If what you want is a permanent website that anyone can find and you're comfortable with git, it is the best free deal on the internet and nothing here competes with it. The catch is the one it was designed with: publishing privately needs a GitHub Enterprise Cloud organisation, and even there your reader needs a GitHub account. We wrote that up in GitHub Pages vs a private link.
A private-link host is built for delivery instead: the page is unguessable and no-index by default, the recipient needs no account of any kind, and you're paying in time rather than in setup. If you want the wider field — including the hosts that need no account at all — the best free way to host a page without making an account compares them properly.
There is also a second wall this piece doesn't touch: what a host's terms allow, as opposed to what its limits allow. A page can sit comfortably inside every quota and still sit outside the policy, and that one fails as a decision rather than as a bill — is client work allowed on a free hosting tier? walks that side of it.
Free tiers move. The numbers above are the ones in our own entitlement code as this is published, and they're the same numbers the product enforces — but a plan page is always more current than an article, so check pricing before you plan around a specific figure.
And one honest limit that no tier changes: an unguessable URL is a key, not a wall. Anyone you send it to can forward it. If that matters, the password is the thing to reach for — on any plan, including the free one.
A scheduled self-destruct retires a shared link on a date you set at upload — no reminder, no manual deletion. Here's why scheduling beats deleting by hand, how to pick the date, and what the viewer sees when the link retires.
Every lever a private link gives you — expiry, password, searchable opt-in, custom domain, white-label, analytics — what each one is for, and which are free versus paid.
Most expiry windows get set by guess — 7 days because that's the default, 'never' because that's reversible. The actual fit comes from matching the window to what the content references.
miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.