File uploading, processing & storage for web apps.

Upload is a cloud platform that simplifies adding file uploads, file processing, and file hosting to websites and apps. CDN & storage included.

✓ No credit card required. Try free for 14 days.

BrowserUpload Dashboard
Trusted by thousands to handle file uploads at scale
VercelBucketStatrysAddEventSpringer HealthcareMediaCatch
BucketVercelAddEventStatrys
Springer HealthcareMediaCatch
BucketVercelAddEvent
MediaCatchSpringer HealthcareStatrys
VercelBucket
AddEventStatrys
Springer Healthcare

More than your average cloud storage

An entire platform, at your finger tips:

Upload files directly from your web app

Sleek HTML file upload widget

Flexible APIs, SDKs & UI components widgets

Supports public and private files

Worldwide CDN coverage (300+ locations)

Process images via the URL

Resize, crop, optimize & watermark images

Supports custom S3 buckets


Why use Upload?

Enjoy one integrated solution for file uploading, file storage, file hosting, file processing, file validation, upload traffic management, rate limiting, and more.

Eliminate home-grown solutions for file uploading

Reduce your product's time to market

Get enterprise-grade file uploadsupload functionality

Illustration
“Before Upload we spent days — sometimes weeks — adding file uploads to new projects. Now it's a few lines of code. It's awesome.”
No configuration = No fuss
Cloud-based hosting

Fast file & image hosting

No need to configure servers, buckets, CORS rules, security policies or image processing pipelines. All you need is an Upload API key.

Simple hierarchical file storage

Pre-integrated with Upload.js and the Upload API

Zero setup, maintenance or configuration

Image processing

Resize, crop, convert & optimize images

Effortlessly resize, crop & convert uploaded images using Upload's URL-based file transformations.

Transform images via the URL

Image cropping, processing & optimization

Image watermarking, data extraction & more

Image Upload API
Perma Cache
Perma-Caching

Upload's perma-cache gives 100% cache HITs

Experience maximum performance with Upload's perma-cache, which persists transformed files for 100% cache HITs.

Sub-second initial transformation requests

Near-instant subsequent requests

Reduce your file processing costs

Integrated Content Delivery

Serve files & images from over 300 CDN locations

Lightning fast content delivery ensures a consistent experience for your users, no matter where they are.

Presence in 90+ cities across 47 countries

Hundreds of terabits of deployed capacity

Multiple 100GbE parallel fibers

Image Hosting API
Perma Cache
Upstreams

Transform images hosted on external servers

Host your images outside of Upload and continue to use our processing pipelines. Our upstreams feature has you covered.

Use Upload as your image CDN

Host the original files yourself

Benefit from Upload's file & image transformations

Adaptive chunking

Upload large files over unreliable networks

Upload employs an adaptive file chunking strategy to ensure fast & reliable uploading of large files over unreliable networks.

Adaptive chunking & automatic retries

Resilient to network dropouts

Suitable for uploads from mobile devices

Large Files
File Limits
File limits

Limit the type and size of files your users can upload

Ensure the quality and consistency of the files your users upload by enforcing file size limits and MIME type whitelists.

Limit file size & type

Rate limiting, traffic limiting & IP blacklisting

Use complex rules to restrict uploads

Monitoring

Clean, beautiful dashboards to monitor your usage

Our dashboards cut through the noise to reveal your usage in simple terms, using clear, easy-to-access charts.

Always know what you're using

Analyze monthly & daily usage patterns

Gain insights by identifying trends

BrowserUpload Dashboard
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html>
<head>
 <script src="https://js.upload.io/upload-js/v2"></script>
 <script>
   // const { Upload } = require("upload-js");
   var upload = Upload({apiKey: "free"})
   var uploadFile = async event => {
     var file = event.target.files[0];
     var result = await upload.uploadFile(file)
     var { fileUrl, filePath } = result
     alert(`File uploaded! ${fileUrl}`);
   };
 </script>
</head>
<body>
 <input type="file" onchange="uploadFile(event)" />
</body>
</html>
Simple API & SDK

Simple REST API & SDKs

There's no simpler way to upload files programmatically than with Upload.js and the Upload API. We've made sure of it.

Lightweight JavaScript Library (bundle size: 6KB)

Low-latency REST API (average RTT: 65ms)

Get started with 7 lines of code

Federated Access

Authenticate & authorize access to your files PRO

Upload allows you to authorize all uploads and downloads via your app's existing security layer using JWTs.

Authorize all uploads and downloads

Generate your own JWTs to set file permissions

Use your app's existing security layer

Authenticated URLs
Run custom code on Upload
Custom file processing

Run custom code against your files PRO

Got custom processing requirements? No problem: Upload supports custom code execution - we even support native binaries.

Transform files in any way possible

Supports native binaries

Easy-to-use SDK (Node.js)

Ready to start hosting files?

Explore Uploader and the Upload API to discover how easy file uploading can be. Alternatively, create an account to start using Upload's fast cloud storage, image processing pipelines, file upload APIs, and CDN:

✓ No credit card required. Try free for 14 days.

No hidden fees
Supports external servers

Use Upload as an image CDN by adding your site as an external source & enjoy URL-based image processing.

Pricing
Start your integration
Use our file upload widget

Give your users the best file upload experience with our drop-in widget, which installs in 5 lines of code.

Uploader