JavaScript
Article

10 jQuery File Upload Plugins

By Julian Motz

This popular article was updated in July, 2016, to reflect the current state of file upload plugins. Comments pertaining to the old article have been deleted.

More from this author

Implementing file uploads with Ajax can be very challenging, especially if you want features like drag and drop support, image previews or progress bars. The following 10 jQuery file upload plugins come with many options, and great user interfaces that will quickly allow you to implement a beautiful file uploader.

1. FineUploader

FineUploader is a flexible, actively maintained uploader, written in pure JavaScript, but also available as jQuery plugin. Compared to all other plugins below, it has the most interesting — and unique — features implemented: pause/resume uploads, concurrent chunking, <canvas> upload, retry, folder uploads, edit filenames, and many more.

FineUploader Screenshot

Website
Source code

2. Dropzone.js

Dropzone.js is a file uploader available in pure JavaScript and jQuery, with options for almost everything, like image previews (thumbnails), specification of maximum file size, renaming files on upload, parallel uploads or resizing of images on upload. The documentation is clean and easy to read, though there are about 500 open issues (bugs and feature requests) — many of which have been open for years — so be aware that you might be on your own if you encounter problems.

Dropzone.js Screenshot

Website
Source code
Further article about Dropzone.js: How to Build a File Upload Form with Express and Dropzone.js

3. jQuery File Upload

Like Dropzone.js (#1), jQuery File Upload offers you a very similar bunch of options to fit your needs (albeit with a different UI), as well as prefabricated integrations for jQuery UI and AngularJS. It is very popular, so you’ll find many answers on StackOverflow, but the project has disabled issues on GitHub and the documentation might be difficult to read.

jQuery File Upload

Website
Source code

4. Plupload

Plupload is a great choice if you want to start with the built-in UI out of the box. It offers you fewer options for customization, but several dozen themes with language packages and Flash or Silverlight fallbacks.

Plupload

Website
Source code

5. Formstone Upload

Formstone is a collection of useful web components, including Upload, a standalone jQuery file upload plugin. As it offers only the basic options for customization and the UI is very simple, getting started should be very easy.

Formstone Upload

Website
Source code

6. jQuery.filer

This plugin focuses on a great built-in UI, and is based on modular architecture that allows you to easily enable or disable components and to specify custom themes. As an extra, it offers you a PHP class to handle upload requests.

jQuery.filer

Website
Source code

7. Bootstrap File Input

Bootstrap File Input is a Bootstrap 3.x file upload plugin with jQuery API that ships with everything you need for customization. It not only allows you to preview uploaded images, but also text, HTML, video, audio, Flash and object files.

bootstrap-fileinput

Website
Source code

8. jQuery Upload File

jQuery Upload File is simple upload plugin with all the basic options, as well as image previews, localization and the facility to build your own UI with custom templates. As it has an example for every feature, implementation should go quickly.

jQuery Upload File

Website
Source code

9. jQuery HTML5 Uploader

This uploader allows you to drag and drop files into an element (e.g. a <div>) and then uploads the file (or multiple files) to a specified URL. No more and no less.

jQuery HTML5 Uploader

Website
Source code

10. Uploadify

Uploadify is a Flash-based jQuery upload plugin that adds a select button to your website. As the customization is limited, the support forum is closed and Flash shouldn’t be used generally, it isn’t recommended to use it anymore. There’s another plugin, called UploadiFive, that is HTML5-based and available on the same website, but the commercial license costs $100 at the time of writing.

Uploadify

Website
Source code

Tip

Sometimes you — or your customers — might have special requirements, and you’ll need to create the UI without jQuery, or adhere to a particular style guide. In this case, you might be interested in the following two projects that allow you to realize file uploads with completely self-made user interfaces:

Conclusion

These are the best known plugins on the market. If you’ve had any experience with them — good or bad — or have another noteworthy file upload plugin, please let us know in the comments.

Meet the author
Julian is a software developer and media designer, currently living in Berlin, Germany. He focuses on web and hybrid applications and loves open source development.
Learn Coding Online
Learn Web Development

Start learning web development and design for free with SitePoint Premium!