The core flow: from file to shareable URL in under a minute.
1
Drop your file
On the homepage, drag a file onto the upload box or click to browse. No sign-up is required to start.
2
Set up your link (optional)
Give it a custom slug, choose when it should expire, and adjust any other options before publishing.
3
Copy the link
Your file is published at its own short URL. Hit copy to grab it.
4
Send the link, not the file
Paste it into any email, chat, or post. It skips attachment size caps and opens on any device.
Manage your links from the dashboard
Track views, edit options, and remove pages once you sign in.
1
Sign in
Sign in free: your existing anonymous uploads can be claimed once you have an account.
2
Open your dashboard
Every page you've created is listed with its link, type, views, and expiry.
3
Edit or delete
Open a page's options to rename the slug, change expiry, or delete it. Deleting takes the link offline immediately.
Connect a domain you already own
Point a domain from any registrar at one of your pages: one TXT record, one CNAME record, and it goes live over HTTPS.
1
Add the domain
In your dashboard, open Domains and use “Connect a domain you already own”. Enter the exact address visitors will type, for example www.mysite.com, and choose the page it should open (you can also do that later).
2
Prove you own it
The setup panel shows a TXT record named _uptf-verify followed by your domain. It shows that name two ways, because DNS editors disagree: most add your domain to whatever you type in the Name field, so paste the short form there (_uptf-verify, or _uptf-verify.www for a subdomain); a few want the whole name. If a check finds nothing, look at what your provider saved: a name like _uptf-verify.mysite.com.mysite.com means it added the domain for you and the short form is the one to use. Copy the value exactly, then choose “Check now”. Keep this record in place for as long as the domain is connected: if it disappears, the domain stops serving after a grace period.
3
Point it here
Once ownership is verified, the panel shows a CNAME record, again with its name both ways: the short form (www, or @ for a root domain; some editors want that field left blank) and the full hostname. Add it, then check again. A root domain (like mysite.com) needs a DNS provider that supports CNAME flattening or ALIAS records; if yours doesn’t, connect www.mysite.com instead.
4
Go live
When the CNAME record is visible, we issue an HTTPS certificate and your page goes live, usually within a few minutes (DNS changes occasionally take longer). If setup stalls, the panel says what to fix, such as a CNAME record that is not visible yet or points somewhere else, or CAA records that block the certificate.
Edit the files behind a hosted website
Replace, add, and remove individual files on a live site: the link never changes.
1
Open the project
In your dashboard, find the hosted website and choose “Manage website files”. Only pages published as a website have files you can address individually.
2
Find the file
The list shows every file with its type and size. Search by name or type, or sort the list, to get to the one you want. The file your site opens with is marked “Main”.
3
Replace, add, or remove
Use Replace on a row to swap one file, drop files onto the page to add or overwrite several at once, or select rows and remove them. The main page can’t be deleted, since the site needs somewhere to open.
4
Changes go live
Edits publish to the same address within about 5 minutes: no new link, and nothing you have already shared breaks. Every replacement is screened the same way a new upload is.
Connect Claude or ChatGPT and publish with it
The whole flow, end to end: connect once, then just ask an AI tool to publish a site for you.
1
Open your AI tool’s connector settings
In Claude, go to Settings → Connectors and choose “Add custom connector.” In ChatGPT, first turn on Developer mode under Settings → Apps → Advanced settings, then go to Settings → Connectors and choose “Create.”
2
Add upload.tf as a connector
Give it a name (“Publish to upload.tf” is a good choice) and paste in https://upload.tf/api/mcp as the server address. Leave authentication as OAuth if it asks.
3
Sign in and approve access
Click Connect. You’ll be sent to sign in to upload.tf (your email needs to be confirmed first) and shown a screen listing exactly what the AI tool is asking to do. Click Allow (this only happens once).
4
Ask it to publish
Back in the chat, just ask in your own words: “publish this as a website” is enough. You’ll get back a live link. If you ask it to publish over a site you already have, it shows you a preview first and waits for you to confirm before anything live changes.
5
Disconnect any time
Remove it from the Connected apps section of your account settings, or from the AI tool’s own connector settings: either one revokes access right away.
Get an API key and upload programmatically
Automate uploads and link management from your own code.
1
Open API keys
Sign in and open the API page in your dashboard.
2
Create a key
Generate a key and copy it somewhere safe: treat it like a password.
3
Call the API
Send your key as a bearer token to upload files and manage links. See the API documentation for endpoints and examples.
Invite collaborators to your workspace
Share your workspace with your team: invites, roles, and the seat roster.
1
Open Team
Sign in and open Team from your dashboard (on mobile it’s in the menu). The roster shows everyone on your account and how many seats your plan includes.
2
Send an invitation
Enter the person’s email and pick their role: admin, member, support, or viewer. You can also invite several people at once by pasting a list of emails.
3
They accept by email
Each person gets an email with an accept link. Invitations expire after 7 days; you can resend one from the roster, and a pending invite holds its seat until it’s accepted, revoked, or expires.
4
Manage the roster
Change a role, resend a pending invite, or remove someone at any time: removal frees the seat immediately. The activity log below the roster records every change, and everyone involved is notified by email.
Report a page that violates the rules
Anyone can flag abusive content: no account needed.
1
Open the report form
Use the 'Report' link on the hosted page, or go to /report and paste the page's link.
2
Choose a reason
Pick the category that best describes the problem (malware, illegal content, infringement, and so on).
3
Add detail and submit
Add anything that helps us review, then submit. We act on content that breaks our Terms.
Upload errors & fixes
What 26 common upload messages mean: and how to resolve each one.
The file is too big
Per-file limits depend on your plan and the type of file.
“File exceeds the N MB limit”
Why: The file is over your per-file cap: 30 MB without an account, more on paid plans.
Fix: Upgrade for a higher limit, or compress the file before uploading.
Why did my PDF/image/text file publish as a download?
Why: Files we normally display in the browser are checked byte-for-byte before storage, and that check only runs up to 50 MB. Above that we store the file and share it as a download instead.
Fix: Nothing to do: the link works. Keep a file under 50 MB if you need its in-browser preview, unless its format can be checked in ranges instead of all at once. Many common image, audio and video formats now can (MP4 and MOV, MP3 and FLAC, WebP and AVIF among them), and those keep previewing at any size. The upload screen tells you which way a large file will publish before you send it.
“This file type can only be uploaded up to 50 MB”
Why: A browser-displayed format can only go past 50 MB if it can be checked without loading the whole file, or served as a plain download instead. Every format we currently accept meets one of those, so nothing should reach this message any more. If you see it, treat it as a bug on our side rather than a limit on yours.
Fix: There is nothing to change about the file: tell us the extension you tried. Every supported format publishes up to your plan’s per-file limit today, with an in-browser preview where the format allows one, and as a download link otherwise.
“Hosted apps are limited to 50 MB. Upload without hosting…”
Why: You asked to host a live site/app, but the upload is over the 50 MB hosting limit.
Fix: Upload without the “host” option to store it as a download link instead.
Unsupported or invalid file
We check a file’s real contents, not just its extension.
“Unsupported file type. Allowed: …”
Why: The file’s extension isn’t one of the 85+ formats we support (the allowed list is shown in the message).
Fix: Convert the file to a supported format, or check the extension is correct.
“File looks like X, not Y” / “File contains binary data, not …” / “File is not valid UTF-8 text”
Why: The file’s actual content doesn’t match its extension (e.g. a renamed file, or a non-UTF-8 text file).
Fix: Upload the file with its true extension, or re-save it as UTF-8 text.
“File is not a valid [PNG/PDF/MP4/…]” / “… is malformed or truncated”
Why: The file is corrupt, truncated, or not really that format. We verify each file’s structure on upload.
Fix: Re-export the file from the original app and upload the fresh copy.
“File is empty”
Why: The file is zero bytes.
Fix: Re-save the file so it has content, then upload again.
“File name is too long”
Why: The filename is over 255 characters.
Fix: Rename the file to something shorter and re-upload.
Blocked for safety
Files we display must be static; we don’t run scripts, macros, or external/active content.
“… contains active content … and was rejected for safety”
Why: An SVG, PDF, or Office/OpenDocument/EPUB file contains scripts, macros, event handlers, embedded files, or external references. Encrypted PDFs are also refused (they can’t be scanned).
Fix: Re-export a static, flattened version with no scripts, macros, forms, auto-actions, or external links, and not password-encrypted.
“Upload blocked: it links to a site flagged by Google Safe Browsing…”
Why: Your HTML, SVG, or hosted site links to a URL flagged for malware, phishing, or unwanted software.
Fix: Remove the flagged link and upload again.
ZIP & hosted-site problems
Uploading a ZIP to host a site has its own limits and structure rules.
“Invalid or corrupt ZIP file”
Why: The archive couldn’t be read: it’s damaged or not a real ZIP.
Fix: Re-create the ZIP and upload it again.
“ZIP must contain an HTML page (e.g. index.html)” / “ZIP contains no supported web files”
Why: To host a site we need an entry page and web assets; none were found after filtering.
Fix: Include an index.html (plus your CSS/JS/images) at the right path in the ZIP.
“ZIP contents exceed 40 MB uncompressed” / “ZIP has too many files (max 500)” / “File exceeds 20 MB in ZIP”
Why: Hosted sites are capped at 40 MB uncompressed, 500 files, and 20 MB per file (the ZIP itself ≤ 50 MB).
Fix: Trim the site to fit those limits, then re-upload.
“Unsafe path in ZIP: …”
Why: A file inside the ZIP uses an absolute path or “..” traversal, which we block for safety.
Fix: Repackage the ZIP with normal relative paths only.
Your custom link name
Custom names become a subdomain, so they follow a few rules.
“Sign in or use an API key to choose a custom name”
Why: Custom names are for signed-in users; anonymous uploads get a random one.
Fix: Sign in (free) or use an API key to pick your own name.
“Name must be 3-32 characters” / “Use lowercase letters, numbers, and hyphens…” / “This name is reserved” / “This name is not allowed”
Why: The name breaks the rules: 3-32 chars, lowercase letters/numbers/hyphens (not at the ends or doubled), and not a reserved or brand-like word.
Fix: Choose a name that follows those rules.
“That name is already taken”
Why: Someone is already using that custom name.
Fix: Pick a different, available name.
Plan & account limits
Some limits reset over time or lift when you upgrade.
“Too many uploads. Please try again later.”
Why: You hit the hourly upload limit (5/hour anonymous; higher when signed in, higher again on paid plans).
Fix: Wait up to an hour, or sign in / upgrade for a higher hourly limit.
“Too many uploads in progress. Finish or cancel them first.”
Why: You have more uploads started but not yet finished setting up than your plan allows.
Fix: Finish setting up or discard the pending uploads in your dashboard, then retry.
“This upload would exceed your plan’s storage limit. Delete files or upgrade for more space.”
Why: Your stored files plus this upload would go over your plan’s total storage pool.
Fix: Delete uploads you no longer need, or upgrade for more storage.
“Requires [Plan]” on password, custom expiry, or email-capture options
Why: Those link options are available on paid plans. If you submit one you’re not entitled to, it’s simply not applied (the upload still succeeds).
Fix: Upgrade to the named plan to use that option.
Uploads disabled or blocked
Occasionally uploading is paused or restricted.
“File uploads are temporarily disabled.”
Why: Uploads are paused site-wide by the operator (maintenance or an incident).
Fix: Wait a little while and try again.
“Uploads are disabled for this account.” / “Uploads from this account or address are blocked.”
Why: The account or address is under moderation or on an abuse block.
Why: The connection dropped, stalled, or the upload was cancelled mid-transfer.
Fix: Check your connection and upload again.
“Upload failed” / “Upload timed out while processing” / “Could not start validation. Please try again.”
Why: A transient problem while validating or saving your file on our side.
Fix: Try the upload again. If it keeps failing, contact support with the file details.
Reporting a page
Found a page that shouldn't be here? Anyone can report it: you don't need an account. Reports are reviewed and we act on anything that breaks our Terms.
Illegal
Content that breaks the law: fraud, threats, sale of prohibited goods, or other unlawful material.
Malware
Files carrying viruses, ransomware, or spyware, or anything designed to compromise the devices of people who open it.
CSAM
Child sexual abuse material. These reports get the highest priority and are escalated to the relevant authorities.
phishing
Fake login pages, fraudulent brand impersonation, or pages designed to steal credentials, payment information, or personal data.
Infringement
Copyright or trademark infringement: material published without the rights holder's permission (DMCA).
Sexual content
Non-consensual or unwanted sexual content, including intimate images shared without the subject's consent.
Privacy
Private or personal information shared without consent (doxxing): for example someone's home address, ID, or contact details.
Other
Anything else that violates our Terms but doesn't fit the categories above: describe it and we'll review.
Can't find the answer above? Send us a message and we'll get back to you by email. Include the link in question and a short description so we can help faster.
It turns any file into a clean, shareable link. Instead of emailing a heavy attachment, you upload the file once and share a short URL that opens or downloads on any device, with no app and no account required to start.
Do I need an account?
No. You can drop a file and get a link without signing up. Signing in free keeps your links live for 30 days and unlocks a dashboard to manage and track them.
How do I upload a file?
On the homepage, drag a file onto the upload box or click to browse and pick one. The file is validated and published at its own URL within seconds, and you can copy the link straight away.
How large a file can I upload?
Up to 30 MB with no account. Paid plans raise the per-file limit: see the Pricing page for the current allowances.
What kinds of files can I host?
Over 85 formats: PDFs and documents, images, video and audio, 3D models, datasets, Office and OpenDocument files, archives, and more. Each upload is checked against its real file type, not just its extension.
Do Word and PowerPoint files show a preview?
Yes. Word (.docx), PowerPoint (.pptx) and the OpenDocument text, presentation and drawing formats open as a readable preview of the document by default, with the original still there to download. Documents above 50 MB are offered as a straight download instead of a preview. Spreadsheets always download rather than preview.
How long does my link stay live?
Anonymous links last 48 hours. Sign in free and your links stay live for 30 days. When a link expires it simply stops resolving, with no crippled preview mode. Paid plans can keep links live longer.
Can I customise my link?
Yes. You can choose a custom slug so the URL reads the way you want. The Free plan includes 3 custom links and 3 short links; paid plans include more.
What are short links?
Short links are compact redirects (a short code that forwards to a destination), handy for sharing in places where a long URL is awkward. They are tracked in your dashboard alongside your uploads.
Can I use my own domain?
Yes, in two ways, both from Domains in your dashboard. Buy a new name there and we register it for you, with no DNS records to set up. Or, if you already own a domain from another registrar, connect it: add one TXT record to prove it is yours and one CNAME record to point it here, and it goes live over HTTPS, usually within minutes. Keep the TXT record in place: if it disappears, the domain stops serving after a grace period. A root domain (like mysite.com) needs a DNS provider that supports CNAME flattening or ALIAS records; otherwise connect www.mysite.com. How many domains you can connect depends on your plan.
Can I password-protect a link?
Yes, on paid plans. When you set up a link you can add a password, so only people you share the password with can open the page. Share the password separately from the link.
Can I choose a custom expiry date?
Free links use a fixed lifetime, but paid plans with flexible retention let you pick a custom expiry date when you create the link, or keep links that do not auto-expire at all.
How do I manage or delete a file I uploaded?
Sign in and open Pages in your dashboard. Every page you have created is listed there, where you can edit its options, see its views, or delete it. Deleting a page takes its link offline immediately.
Is it really free?
Yes. The Free plan is free forever with no card required: up to 20 MB per file, 3 custom links, 3 short links, and 15,000 views a month. Paid plans add higher limits and more views.
What happens if I exceed my included views?
Your account stays active and your links are never deleted. With pay-as-you-go on, extra views are billed at $1 per 100,000. With it off you are simply never billed beyond your plan price: the included views are a billing boundary, not a switch that slows or stops your links.
What happens to my files if I downgrade my plan?
Your links go offline, not your files. Anything over your new plan’s limits stops working for visitors, newest first, until what is left fits. Nothing leaves your dashboard, though: you can still rename it, change its settings, delete it, or download the original from the Locked content panel in Billing. Move back up to a plan that covers them and the links start working again.
Are my locked files ever deleted?
Only if an unpaid subscription is never resolved. In that case the locked files are kept for a while first, we email you the deletion date, and we send a reminder a week before it, so there is time to pay, or to download the originals and keep them. If you chose to move to a lower paid plan yourself, nothing is scheduled for deletion at all.
How do I change my email or password?
Sign in and open your account settings, where you can update your profile, change your email address, and set a new password.
Can I export my data?
Yes. From your account settings you can export your account data, including a record of the pages and links you have created.
Can I share my workspace with my team?
Yes. Open Team in your dashboard to invite collaborators by email. Once they accept, they work inside your workspace (with your pages and links) according to the role you give them, while billing stays with you as the owner.
How many team seats does my plan include?
Every plan has a total seat count: Free: 1, Pro: 1, Business: 3, Corporate: 20. You hold one seat as the owner; each collaborator (and each pending invitation) takes one more. If your plan changes, the new seat count applies immediately. The Pricing page always shows the current numbers.
What can each collaborator role do?
There are four invitable roles. A viewer is read-only: they can see pages and links but change nothing. A member can also upload and create or manage pages and links. An admin can additionally manage the team roster and custom domains: everything except billing, which always stays with the owner. A support seat is the odd one out. It works only on your customers, the end-users of a platform account, and has no access to your own pages, links, team, billing or domains.
How do team invitations work?
You invite someone by email from the Team page, choosing their role. They get an accept link that stays valid for 7 days; after that the invite expires and its seat is freed. You can resend a pending invite (which issues a fresh link) or revoke it at any time, and you can invite up to 50 people in one batch.
How do I remove a collaborator, or leave a workspace myself?
Owners and admins remove people from the Team page; the seat is freed immediately and the person is notified by email. If you were invited into someone else’s workspace, you can leave it yourself from that workspace’s page. Removed and departed members disappear from the roster, and the change is recorded in the activity log.
Can I change a file on a site I already published?
Yes. A hosted website is a project: open it from your dashboard with “Manage website files” and you can replace, add, and remove individual files without re-uploading the whole thing. The address stays exactly the same, so every link you have already shared keeps working. Changes go live within about 5 minutes.
How big can a project get, and how many files can it hold?
A project can hold up to 500 files. Any single file you add or replace can be up to 25 MB. The project as a whole can grow to the same size a single upload may be on your plan, and the drop zone tells you how much room is left before you add anything. Sign in to see the limits that apply to your account.
Are edited files checked the way new uploads are?
Yes. Every file you add or replace is screened before it goes live, exactly as it would be on a fresh upload: links inside HTML are checked against Safe Browsing, and images are checked for unsafe content. A file that fails is refused and never reaches your live site. Each edit is also recorded, so there is a history of what changed.
Why can’t I edit my project right now?
Editing is switched off while a page can’t safely change: if it has expired, if it is locked because your plan changed, or if it is under review after a report. The file list stays visible and you can still open the site, but Replace, Add, and Remove are unavailable until the page is active again. Renewing an expired page or resolving a plan lock restores editing.
What is the upload.tf connector?
It connects your upload.tf account to Claude or ChatGPT so you can just ask, in plain language, and it publishes a site for you: no dragging files, no dashboard. Say something like “publish this as a website” and you get back a live, shareable link. It talks to the AI tool over a standard called MCP (Model Context Protocol), though you never need to know that to use it.
Do I need a paid plan to use the connector?
No: the connector works on every plan, including Free. That’s different from the REST API, which is a paid feature; the connector needs no upgrade and no API key, just your account.
How do I connect Claude or ChatGPT to my account?
In your AI tool’s settings, add upload.tf as a connector and paste in https://upload.tf/api/mcp as the address. Connect it, and you’ll be sent to sign in (your email needs to be confirmed first) and shown a screen listing exactly what it’s asking permission to do. Click Allow and you’re set: it’s a one-time step, and after that you can just ask it to publish something.
What can the connector actually do?
It can publish a new site, update one you already have, list everything you’ve published, look up one by name, and delete a site you no longer want. That’s it: it can’t touch your billing, buy or manage a domain, or add or remove people from your team. Its permissions are deliberately narrower than an API key’s: just enough to publish on your behalf, nothing more.
What happens if I ask it to publish over a site I already have?
It won’t overwrite it outright. You get a preview link to check first, and the live site stays exactly as it is until you confirm you’re happy with the change. Nothing about an existing site changes without that extra confirmation step.
How long does a site published through the connector stay live?
The connector always publishes to your signed-in account, so it follows your plan’s retention instead of the 48-hour anonymous window the website itself offers first-time visitors. On the Free plan that’s 30 days; upgrade to Pro or above and it doesn’t expire at all.
Are there limits on what the connector can publish?
Yes. The first time you publish a new site, it accepts up to 500 files, each up to 20 MB, and 40 MB total: the same ceiling as any hosted site on upload.tf, on every plan. Updating a site you already have uses your account’s usual editing limits instead: each file up to 25 MB, sized to what a single upload may be on your plan. Either way, images are usually where you’ll hit the wall first: HTML and CSS files are tiny, but a handful of photos adds up fast. The connector reports the real numbers and how much room is left before you add more, so it’s never a guess.
How do I disconnect the connector?
Open the Connected apps section of your account settings and remove it, or disconnect it from Claude’s or ChatGPT’s own settings: either side works. Removing it revokes access immediately; nothing you’ve already published is affected, and you can reconnect any time.
Who can see the files I upload?
Anyone with the link can open the page, and there is no other way in: links are randomly generated, search engines are told not to index them, nothing is listed in a public directory, and pages are served over HTTPS. Two limits worth knowing: a custom name you choose yourself is readable by design, so treat it as guessable, and files are not end-to-end encrypted, so we can access stored content, we scan uploads for illegal material, and we act on what we find. You can delete any page at any time, links expire automatically based on your plan, and you can put a password in front of a link.
How do I report a page that breaks the rules?
Open the Report link on any hosted page, or go to /report and paste the page's link. Choose a reason, add any detail, and submit. No account needed. We review reports and act on content that violates our Terms.
Does uploadthefile.com have an API?
Yes. Create an API key on the API page in your dashboard and use the REST API to upload files, manage links, and serve content programmatically. Full reference and examples are in the API documentation.
My link is not working: what should I check?
First, confirm the link has not expired (48 hours for anonymous uploads, 30 days on the free plan). Check you copied the whole URL, and that the page was not deleted. If it still fails, contact support with the link and we will investigate.
My upload failed or was rejected. Why?
The most common reasons are the file exceeding your plan's size limit, an unsupported format, or a flaky connection. We validate each file's real type, so a renamed or corrupted file can be refused. Try again, and if it persists, reach out to support.