Skip to content

uploadcare/file-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uploadcare logo

WebsiteDocsBlogDiscordTwitter

Uploadcare File Uploader

npm version GitHub Actions License minzipped size

Add file uploads to your app and configure behavior and appearance as needed. Process and transform files before and after uploading. Compatible with any framework or environment.

Uploadcare File Uploader examples

Features

  • Multiple upload sources: Drop files, select from the filesystem, use a link, camera, Dropbox, Google Drive, add them via the upload API, and more.
  • Large file handling: Upload faster with chunking, retries, and resumable uploads.
  • Customizable appearance: Use pre-built themes or modify styles with CSS to fit your project.
  • Responsive and cross-browser: Fits any device; supports the latest desktop and mobile versions of Chrome, Edge, Firefox, Opera, and Safari.
  • Fully accessible: A11Y options, including keyboard navigation, screen reader support, and color contrast settings.
  • Advanced image editing: Optimize images and apply smart transformations like cropping, resizing, or color filters via the built-in image editor, REST, or URL API.
  • Secure uploads: Protect your app by automatically detecting inappropriate content, malicious files, or unauthorized uploads.
  • Typescript support: Full Typescript support with autocompletion, type checking, and more for a better developer experience.

Framework support

Uploadcare File Uploader is built with Web Components, meaning you can integrate it into any environment—no adapters required.

For hands-on examples, visit our live sandboxes:

Check out the documentation for quickstart guides tailored to your framework or tool.

Explore more tutorials in our blog.

Quick Start

From CDN

  1. Connect File Uploader directly from your document:
<script type="module">
  import * as UC from 'https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/file-uploader.min.js';

  UC.defineComponents(UC);
</script>
  1. Add File Uploader in your application markup:
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/uc-file-uploader-regular.min.css"
/>

<uc-file-uploader-regular ctx-name="my-uploader"> </uc-file-uploader-regular>
  1. Configure File Uploader and add your personal public key to the project. Learn more.

From NPM

  1. Install the package: npm i @uploadcare/file-uploader
  2. Connect File Uploader from your script file:
import * as UC from '@uploadcare/file-uploader';

UC.defineComponents(UC);
  1. Add File Uploader in your application markup:
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@1/web/uc-file-uploader-regular.min.css"
/>

<uc-file-uploader-inline ctx-name="my-uploader"> </uc-file-uploader-inline>
  1. Configure File Uploader and add your personal public key to the project. Learn more.

Configuration

All configurations in File Uploader are managed from uc-config block.

  1. Sign up to Uploadcare.
  2. Get a Public API key in Uploadcare project's dashboard.
  3. Add a uc-config block to your markup and replace YOUR_PUBLIC_KEY with your own public key:
<uc-config ctx-name="my-uploader" pubkey="YOUR_PUBLIC_KEY"></uc-config>
  1. Make sure that your config uses the same ctx-name attribute value as your solution block.

Discover more about configuration options in our documentation.

Browser support

Latest desktop and mobile stable versions of Chrome, Edge, Firefox, Opera, and Safari are supported.

Internet Explorer is outdated and not supported anymore.

Contribution

You’re always welcome to contribute:

  • Create issues every time you feel something is missing or goes wrong.
  • Provide your feedback or drop us a support request at hello@uploadcare.com.
  • Ask questions on Stack Overflow with "uploadcare" tag if others can have these questions as well.
  • Fork project, make changes and send it as pull request. For launching the developing mode follow these commands:
    • Install dependencies: npm install.
    • Start local dev-server: npm run dev.
  • Star this repo if you like it ⭐️