How to use / Why use this tool / FAQ
How to use
Sign in, then drag files onto the drop zone or click to pick them. Each file goes straight from your browser to a Cloudflare R2 bucket over a short-lived presigned URL — it never passes through our server. When the progress bar finishes, copy the result as a plain URL, a Markdown image tag, or an HTML snippet. Everything you upload stays in the history list below, where you can preview it or delete it (which removes the object from R2 too).
Why use this tool
R2 charges nothing for egress traffic, so images embedded in a blog, a README, or documentation keep serving at the same price no matter how much they are viewed — that is the single biggest cost difference against S3 or a traditional CDN-backed bucket. Files are served from a custom domain on Cloudflare's edge network, so they load fast worldwide and the URL stays yours. R2 speaks the S3 API, which means the same objects can later be pulled by any S3 client if you ever move. Want to build this yourself? Our step-by-step guide walks through the bucket, credentials, CORS, and the presigned-upload code.
FAQ
- How is this different from the Image Hosting tool?
- Same interface, different storage backend. Image Hosting writes to Tencent Cloud COS; this one writes to a Cloudflare R2 bucket served over a custom domain. The two histories are separate, but they share the same daily upload quota.
- How many files can I upload per day?
- 10 uploads per day for regular users, shared with the Image Hosting tool. Admins have unlimited quota.
- What file types and sizes are allowed?
- Images up to 10MB, videos up to 100MB, and common config or text files (JSON, YAML, XML, TOML, CSV, Markdown, and similar) up to 5MB.
- Does the file pass through your server?
- No. The server only signs a short-lived upload URL; the bytes go from your browser directly to Cloudflare R2. We store the file name, size, type, and object key so you can manage the file later.
- Are the links permanent?
- They stay live until you delete the file here. Deleting a record also deletes the object from the R2 bucket, and the link stops working immediately.