File & Image CDN
with Cloud Storage

Upload is a CDN that supports file uploading & processing. Developers use Upload to add file upload functionality, image processing, and file hosting to their apps.

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

BrowserUpload Dashboard

Upload integrates with your favourite web frameworks and stacks


More than your average CDN

Can our image CDN help you?

Upload files from your web app

Cloud-based file & image storage

Add external file & image sources

Transform images via the URL

Resize, crop & optimize images

Beautiful management dashboard


What does Upload do?

Upload simplifies file uploading & hosting:

Files can be uploaded manually, or dynamically as user-generated content (UGC) using our SDKs and APIs, or pulled from external sources.

Developers benefit from a worldwide CDN, realtime image processing, protected URLs, and more.

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.

URL-based image transformations

Intelligent auto-cropping & image optimization

Extract image metadata, archive files & more...

Image Upload API
Perma Cache
File Caching

Save transformed images for a 100% cache HIT ratio

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

Reduces your costs & your users' wait times

File 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 fiber backbone

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 all of Upload's file 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 sizes

Whitelist MIME types

Run custom verification checks

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/v1"></script>
 <script>
   var upload = new Upload({apiKey: "free"})
   var uploadFile = upload.createFileInputHandler({
     onUploaded: ({ fileUrl, fileId }) => {
       alert(`File uploaded! ${fileUrl}`);
     }
   });
 </script>
</head>
<body>
 <input type="file" onchange="uploadFile(event)" />
</body>
</html>
Simple API & SDK

Simple REST API & JavaScript Library

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: 7KB)

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 JWTs from your API to set access rights

Uses 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 get started?

Explore Upload.js or the Upload API, or create an account instantly to start accepting file uploads in your app. You can also contact us for help and custom packages for your business.

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

No hidden fees
Always know what you'll pay

You only pay the price of your plan. No overages. No hidden fees.

Pricing
Start your integration
Start your integration

Get up and running with Upload.js in as little as 60 seconds.

API Reference