Fast, Reliable & Secure File Uploader & API

BETTER FILE UPLOADS. BETTER ENGAGEMENT FOR YOUR APPS.

Dramatically improve the look and performance your file uploader with two lines of code

Upload Options

Drop Picker

From Sources

Image Editor

Accepted Files

Limits

Specify image dimensions. e.g. [800, 600]. Only for JPEG, PNG, and BMP files. Local and cropped images will be resized (upscaled or downscaled) to the specified dimensions before uploading. The original height to width ratio is maintained. To resize all images based on the width, set [width, null], e.g. [800, null]. For the height set [null, height], e.g. [null, 600].

Specify maximum image dimensions. e.g. [800, 600]. Only for JPEG, PNG, and BMP files. Images bigger than the specified dimensions will be resized to the maximum size while maintaining the original aspect ratio. The output will not be exactly 800x600 unless the imageMax matches the aspect ratio of the original image.

Specify minimum image dimensions. e.g. [800, 600]. Only for JPEG, PNG, and BMP files. Images smaller than the specified dimensions will be upscaled to the minimum size while maintaining the original aspect ratio. The output will not be exactly 800x600 unless the imageMin matches the aspect ratio of the original image.

Sets the resolution of recorded video. One of "320x240", "640x480" or "1280x720". Default is "640x480".

Maximum number of files allowed to upload. Defaults to 1.

Minimum number of files allowed to upload. Defaults to 1.

Restrict selected files to a maximum number of bytes. (e.g. 10 * 1024 * 1024 for 10MB limit).

Max number of files to upload concurrently. Default is 4.

Advanced

Enable or disable the default image editor, which includes options for cropping, circular cropping, and rotating images.


Enable or disable the Transformation UI. When enabled, it will replace the basic image editor.


Hide the picker modal UI once uploading begins.


Toggle the drop zone to be active on all views. Default is active only on local file source.


Whether to start uploading automatically when maxFiles is hit.


Disables local image thumbnail previews in the summary screen.


When true removes the hash prefix on stored files.


Start uploading immediately on file selection. (The feature is can be enabled only if crop is disabled - disableTransformer: true)


Use Sentry Breadcrumbs mechanism to log information about occured errors. It can override global objects like console, error etc. Defaults to true.


When true the originalFile metadata will be the actual File object instead of a POJO


Prevent modal close on upload failure and allow users to retry.


Style

Get Your Free Key
UI Code

Filestack Upload gives you the same upload technology used by internet giants without the struggle of having to maintain it.

AN INSTANT UX UPGRADE

Filestack Upload gives you the same upload technology used by internet giants without the struggle of having to maintain it.

A HUGE BOOST IN PERFORMANCE

Behind the scenes, Filestack’s advanced infrastructure uploads files almost 4 times faster.

Powerful Ways To Access Files

No matter the method, Filestack handles the hard work and integrations required to make file access easy and reliable.

Drag & Drop or Copy & Paste

Allow your users to perform a file upload using the natural interactions they already know from using desktop applications.

Try it out! Drag and drop or copy and paste any file

Click to pick files & images

Make any button or link open a file dialog just as users expect. Once the file is selected, Filestack auto-generates a preview and assists the upload process – making it faster and more reliable.
Try it out! Click the button to upload files →

Connect to dozens of online accounts

Connect to content directly from the sources where your users have it – without the hassle or effort often required. Filestack maintains dozens of integrations with popular services, requiring no integration work on your part.
← Try it out! Connect to an online account

Add realtime photos, video, and audio

Allow users to use device cameras to instantly add photos, audio recordings, and video. Often a complex process to support on multiple devices, Filestack makes it easy to add realtime capture right inside your app.
Try it out! Click an icon to experience realtime capture →

Add audio
Add audio
Add photo
Add photo
Add video
Add video

Connect to your own Custom Sources

Add your own integration to the Filestack File Picker based either on static list of files or dynamic integration of your choice.

CONNECT YOUR APP TO FILES FROM OVER 20 SOURCES. SEE THEM ALL

WAY MORE THAN A FILE UPLOADER WIDGET: A COMPLETE UPLOAD SERVICE.

What you can get only from Filestack

BETTER RELIABILITY

Filestack Intelligent Ingestion™ can dynamically adjust to changing network conditions to guarantee upload success 99.999% of the time.

ACCELERATED UPLOADS

Filestack’s exclusive technology can provide your app immediate access to content - even while it’s still in transit accros the network.

ONE API FOREVER

Filestack brings images, videos, and files to your app from 20+ sources through a single, stable API. (No need to maintain an integration to each service).

PREVIEW

Users can preview their uploaded files directly inside the File Picker.

CONNECT TO 20+ CLOUD DRIVES

Connect your app directly to AWS, Facebook, Dropbox, Instagram, and more.

PROGRESS BAR UPLOADS

Give your users confidence that their files are on the way to the right destination.

MULTI-FILE UPLOADS

Let your users upload multiple files at one time for speed and simplicity.

CUSTOM CSS

Filestack blends seamlessly into your website or app. Ask about white-labeling.

CLIENT-SIDE CROP

Users can crop files to perfection before sending them to your website or app.

UNLIMITED UPLOADING

Upload any file type, from any local or cloud source, at any scale.

WEBSITES & HTML

Filestack can even load web content from any public URL and capture the rendered page as an image. Perfect for generating screenshots, previews, or converting HTML-based content into other formats.

SECURE CLOUD STORAGE

Store uploads directly in your cloud storage for ease and accessibility.

Just One Integration, One Time...

Filestack connects you with a multitude of services with one simple integration. You never have to worry about updating API integrations again. Uploading Files is our raison d’etre. We update for other API changes, and will never depreciate our API or force unwarranted changes on you.

Libraries & SDKs
Choose from our SDKs to get started: Javascript, Ruby, PHP, Python, Swift, Android

No maintenance required
Once you integrate, you’re done. Never worry about changing APIs disrupting your file workflow again.

Dev-to-dev support
Your files are always our #1 concern. We are always here to help you get up and running and assure the best performance.

import * as filestack from 'filestack-js';
const client = filestack.init('YOUR API KEY');
client.upload(fileObject).then(data =>console.log(data.url));
gem 'filestack'
client = FilestackClient.new('YOUR_API_KEY', security: security_object)
filelink = client.upload(filepath: '/path/to/file')
$ composer require --prefer-dist filestack/filestack-php

use Filestack\FilestackClient;

$client = new FilestackClient('YOUR_API_KEY');
$filelink = $client-upload('/path/to/file');
$ pip install filestack-python

from filestack import Client client = Client("")

params = {'mimetype': 'image/png'}
new_filelink = client.upload(filepath="path/to/file", params=params)
print(new_filelink.url)

"Being smart here, in my opinion, is seriously looking at Filestack to give you a fantastic uploading experience, while you spend your time on your product vision, not already-solved problems."

— CHRIS COYIER, FOUNDER OF CSS-TRICKS & CODEPEN

Frequently Asked Questions

What is the maximum file size that can be uploaded?

The maximum file size that can be uploaded is up to 5 GB, depending on the plan you choose.

What programming languages does Filestack support?

Filestack supports several programming languages, including JavaScript, Python, Ruby, PHP, Java,.NET, and Go.

How does Filestack handle image transformations?

Filestack’s image transformations allow you to resize, crop, rotate, and apply filters to images on-the-fly using simple URL parameters.

What is Intelligent Ingestion™?

Intelligent Ingestion™ is a patented technology that allows for faster and more reliable uploads by dynamically adjusting to changing network conditions

What integrations does Filestack offer for cloud storage providers?

Filestack offers integrations with popular cloud storage providers such as Amazon S3, Google Cloud Storage, Microsoft Azure Blob Storage, Rackspace Cloud Files, and Dropbox, among others.

How does Filestack handle security?

Filestack provides several security features such as signed URLs, policy documents, and OAuth 2.0 authentication.

Does re-uploading the same file count as a new upload?

Yes, each upload operation is counted as one upload.

Do failed uploads count?

Filestack boasts a 99.999% upload success rate thanks to its Intelligent Ingestion (FII) feature, which adapts to changing network conditions. Failed upload attempts do not count against your plan's upload usage.