Digitally signed by Thawte
Applet signed
by a trusted certificate


JFileUpload is a client-side JAVA™ component (Applet) that allows uploading files and folders to any web or ftp server. This component could be integrated into any application. Server-side technology could be JSP/Servlet, PHP, Coldfusion, CGI or Microsoft ASP. Front-end provides an upload progress bar, a cancel button and drag&drop support. JFileUpload supports very large uploads over 2GB and could resume broken upload. It is customizable (multilanguage, colors, size). The add-ons section includes tools such as image previewer, image scaling filter, FTP-like explorer, SFTP support, PHP sample script ...

Upload applet

last update: 03/2017

JFileUpload fits to many businesses involving web uploads such photographers, printing companies, web albums, hosting services, webmasters, CMS vendors ... JFileUpload is a Java Application (Applet and WebStart) that allows end-user to upload files and folders to a web or ftp server. It could be integrated into any application. Deployment is fast and easy. Download the features matrix.
  • Progress bar:
    JFileUpload front-end includes a progress bar. Upload could be stopped at any time thanks to a cancel button.
  • File(s) selection and Drag&Drop:
    End-user could select file(s) to upload with a dialog box or through simple drag and drop from file system explorer. Multiple files and directories selection is allowed. Recurse subdirectories feature is available too.
  • Customization:
    JFileUpload includes multilanguage support. Front-end resources (menu, text items, messages, background image, look and feel, ...) are stored in ascii files and could be modified. Image previewer could be added and colors could be modified too (see screenshots).
  • Advanced features:
    JFileUpload supports very large uploads (more than 2 GB) with low resources (RAM, CPU) usage on client-side. It could resume broken upload, rename files before upload and ZIP file on fly. It allows to limit size (in bytes) or type (e.g. *.doc, *.exe) of files to upload. It allows to pass extra parameters (e.g. login, password, sessionid, cookie, ...) and allows post-processing by redirecting to an URL after upload.
  • Cross server-side technology:
    JFileUpload is a client-side component. It provides both HTTP and FTP transport protocols support. You do need a server-side component to process upload on server:
    HTTP: JFileUpload sends files to a web server through standard HTTP multipart (RFC 1867) request, that's the reason why server-side technology could be Java/J2EE™, PHP, Microsoft ASP/.NET, Macromedia/Coldfusion or Perl/CGI. For Java/J2EE server-side script, we recommend JSPUpload to process upload and store files in folder or database. JFileUpload also supports HTTP PUT. Note that HTTPS (HTTP over SSL) is supported too.
    FTP: JFileUpload sends files to a ftp server after being authenticated (anonymous or user account). Note that FTPS (Explicit/Implicit FTP over SSL) is supported too. SFTP support is available here and SCP support is available here.
  • Cross browsers:
    JFileUpload works under most operating systems such as Windows, Linux and MacOSX. It has been tested with Internet Explorer, Safari, Firefox, Opera and Google Chrome. See documentation for all platforms validated.
  • Flexible API:
    JFileUpload API is flexible. It is designed to integrate new front-ends, plug custom filter, pass extra HTTP parameters, support cookies and session, proxies, support authentication ... However, this feature is only available in JFileUpload enterprise and premium packages.
  • Others:
    JFileUpload can run as applet in browser, as java webstart (deployed over HTTP and launched through a shortcut on desktop) or as stand alone java application.
  • Add-ons:
    A few others products could work on the top of JFileUpload: JBatchUpload to queue files before upload, FTP-like explorer to upload and download, Amazon Simple Storage Service (S3) uploader and file manager, Secure FTP support, SCP support, Flickr upload, image previewer, image scaling filter to generate thumbnails on the fly and file downloader. Such filter allows saving bandwidth and lowering upload time. An add-ons section is available with tools such as PHP, JSP, ASP.NET and ColdFusion upload sample scripts, PGP encryption filter, JavaScript API and more tools that could be plugged to JFileUpload.
Upload applet Windows Vista screenshot Upload applet MacOSX screenshot Upload applet Windows XP screenshot
Windows MacOSX Windows XP


See online documentation for JFileUpload installation and samples. It includes all parameters description for both HTTP upload and FTP upload. FAQ is also available.

Online demonstration:

You can try JFileUpload applet here. It allows to upload 1 to 3 files (50MB size max) over HTTP.


Download JFileUpload Pro full package
(Includes samples, binaries and documentation - 1 MB)

 V3.5java uploader [zip]  [tar.gz]

JFileUpload requires Java™ technology Get Java


(see matrix)
Full Full Full
Trusted signature: Yes (Thawte) Yes (Thawte) Your own certificate
Redistribute: No Yes Yes
API: No Yes Yes
Source code: No No Yes
License: Terms Terms Terms
Price: $29 per domain $299 - unlimited domains $449 - unlimited domains
Purchase JFileUpload Pro
Purchase JFileUpload Enterprise
Purchase JFileUpload Premium

Sitemap | Privacy Statement | Java and all Java-based marks are trademarks or registered trademarks of Oracle.
in the U.S. and other countries. All other company and/or product names are the property of their respective owners.