Add file uploads to your
website in seconds.

The file upload platform that takes care of everything,
including the storing, transforming & serving of your files.

> npm install upload-js

1 Install Upload.js

To get started, create your Upload account.

Once your account is created, copy this code to create a basic webpage with an upload button on it.

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: "..." })
    var uploadFile = upload.createFileInputHandler({
      onUploaded: ({ fileUrl, fileId }) => {
        alert(`File uploaded! ${fileUrl}`);
      }
    });
  </script>
</head>
<body>
  <input type="file" onchange="uploadFile(event)" />
</body>
</html>
  • No servers or configuration
  • No boilerplate code
  • Start uploading files in 60 seconds

2 Upload a file

With your button created, try uploading a file. The result will contain a file ID, which can be used at any time to download the file. You should probably save the file ID to your backend API.

File URLhttps://files.upload.io/File IDx89e18fe4x3
  • Files hosted on our ultra-fast CDN
  • Basic plans: CDN covers 100 locations worldwide
  • Pro plans: CDN covers 200+ locations worldwide

3 Transform your file

Now create a transformation through the Upload Dashboard. If you paste a transformation's slug to the end of a file URL, the result will be a transformation of that file, e.g. a resized image.

https://files.upload.io/File IDx89e18fe4x3/Transformation Slugpng;w=1024;h=768
  • Transform files via the URL
  • Resize images, extract zips, and more.
  • Even run your own code!

Loved by developers worldwide

Developers enjoy using Upload as a lightening-fast way to add file uploads to web apps.
SVG

Robust & lightweight

Upload.js is 7KB when minified and gzipped (including its dependencies) and comes complete with TypeScript definitions.

SVG

Zero setup

No infrastructure to provision or boilerplate code to write: just install Upload.js, enter your API key, and start uploading files.

SVG

Fast CDN

Upload's content delivery network (CDN) serves your files from 250+ locations worldwide, giving your users ultra-low-latency downloads.

SVG

Comprehensive docs

Our documentation is clear, easy to follow, and cuts straight to the point. We promise not to waste any of your time.

SVG

URL-based transformations

Transform your uploaded files via the URL, using either pre-made transformations, or custom ones you've written using JavaScript.

SVG

Access-protected URLs

Upload allows you to authenticate uploads and downloads via your backend API, giving you complete control over file access.

Fair Pricing

Pick the plan that's right for you

10GB
Price of plan:FREE!
10 GB TrafficQuota for combined upload & download traffic per month.
10 CPU HoursQuota for hours spent transforming files per month (e.g. image resizes). File transformations on Upload are very fast: a little goes a long way!
10 GB StorageQuota for total storage space used by all files stored in your account.
100 CDN LocationsUpload's content delivery network (CDN) serves your files from 100 locations worldwide, ensuring minimal download latency for your users.
Image TransformationsImage resizing and transcoding (converting to other formats).
Email SupportFriendly and professional support with our expert team, via email.
Access-protected URLsBy default files are accessible to anyone with links to them. Access-protected URLs allow you to authorize access to your files.
Custom TransformationsWrite your own transformation code for Node.js and have it run on Upload's servers against your uploaded files.

Tip: 10 GB is equivalent to uploading or downloading 340 Word documents per day or uploading 50 photos and downloading 4,500 image thumbnails per day.

SVG

Custom Plan

Chat to us for a tailored package for your business.

Available for businesses with high traffic or unique file processing and storage requirements.


Can I cancel at any time?

Yes, you can cancel anytime, no questions asked, although we do highly appreciate feedback.

Can I migrate my files away from Upload?

Yes, this is easy to do. We provide a file listing endpoint and a file download endpoint, so you can easily export all your files from Upload at any time.

When will my card be charged?

Upon signing up, you will only be billed the prorated amount of the selected plan for the current month. After that, your monthly plan cost will be billed at the start of each month for the current month.

Do you offer a free plan?

Yes, we offer a "free forever" plan to all customers. Please be aware the free plan contains a limited feature set.

Get Started

Join the developers already using Upload.js

Select a plan

It takes as little as 60 seconds to add Upload.js to your website.