Skip to content

Uploadcare File Uploader

The last file uploader you’ll build

Uploadcare File Uploader is a drop-in widget with storage, processing, and delivery already behind it. Cloud sources, an image editor, and accessibility come built in, with malware and content scanning on top. 15 years in production, across billions of files.

Mode
Sources
Files view
Theme
Corner radius
Accent

Loading the uploader…

  • A yellow cosmos flower on a pale ground
  • A dog looking at the camera against a blue ground
  • Green hills under a clouded sky

Drag an image onto the uploader

Bounce logoEverlywell logoReka logoParafin logoZapier logoL'Oréal logoSoundCloud logoFramer logoVSCO logoDocplanner logoShogun logoAnything logoUserTesting logoSamsonite logoAryeo logoPrezly logoRightCapital logoBuffer logoSnorkel logo

Uploads at any volume

10,000+ engineering teams accept user uploads through Uploadcare, from a single contact form to millions of files a month.

99.9%Upload API SLA
15YRSin production

The stack behind a working upload flow

Upload from wherever the file already is

Local files, camera, and a link work out of the box. So do Dropbox, Google Drive, Google Photos and OneDrive, with no OAuth app of your own to register.

Editing built into the widget

Crop, rotate, flip, adjust brightness and exposure, apply filters. Users fix the photo themselves, and your app receives the version they meant to send.

Built for everyone using it

Full keyboard navigation, screen reader and voice assistant support, and current accessibility standards.

Speak your users’ language

Interface text, error messages, and validation warnings are all localizable, with locales you can override or write yourself.

Large files, handled properly

Files up to 5 TB split into chunks, uploaded in parallel, each traveling to the nearest edge location before moving to storage internally.

Make it yours, down to the markup

01

Style it with your own CSS

Light and dark themes, colour and radius presets, or your own CSS on top. Built from Web Components, so it drops into any framework without adapters.

uc-file-uploader-regular {
  --uc-primary:
    oklch(0.89 0.13 90);
  --uc-radius: 4px;
  --uc-font-family:
    Inter, sans-serif;
}
02

Use your own interface

Trigger the uploader from your own button with initFlow(), or build a fully custom flow on the upload client library.

const api = document
  .querySelector(
    'uc-upload-ctx-provider'
  )
  .getAPI();

myButton.addEventListener(
  'click', () => {
    api.initFlow();
  });
03

Extend it with the Plugin API

Add custom upload sources, UI activities, file actions, and hooks as plugins. The uploader gains what you need without you forking it or waiting on us.

pluginApi.registry
  .registerSource({
    id: 'dam',
    label: 'dam.label',
    icon: 'folder',
    onSelect() {
      uploaderApi
        .setCurrentActivity(
          'dam'
        );
    },
  });

Thousands of companies choose Uploadcare

5% upload failure rate, gone

Aryeo replaced an unstable uploader and moved to reliable high-volume image uploads.

Read story

Cloud integrations they never had to write

Upscribe skipped building and maintaining its own Google Drive, Dropbox, and Box connectors.

Read story

1.5 GB session recordings, uploaded reliably

Supervision Assist accepts large uncompressed video from HD cameras, with a HIPAA-compliant workflow behind it.

Read story

Controls for what your users can upload

  • SOC 2 Type II certified
  • GDPR compliant
  • HIPAA compliant
  • Signed uploads and URLs
  • Malware scanning
  • Content moderation
  • Trust center

Everything the uploader ships with

File uploads

Upload from anywhere

Local files, camera, direct link, Dropbox, Google Drive, Google Photos, OneDrive, and more, all through one widget.

Files up to 5 TB

Large files split into chunks and upload in parallel, going straight to storage rather than through Uploadcare’s upload servers.

Multiple file upload

Set the minimum and maximum number of files a user can send in one go.

Drag and drop

Users drop files into the area or pick them from a dialog, whichever suits your layout.

Upload progress

An individual progress bar for every file, so users can see what’s finished and what isn’t.

What users see

Image previews

Users see thumbnails of what they selected before anything is sent.

Built-in image editor

Crop, rotate, flip, adjust brightness and exposure, and apply filters inside the widget.

Accessibility

Keyboard navigation, screen reader and voice assistant support, and current accessibility standards.

Localization

Interface text, errors, and validation messages in the locales you need, with your own overrides.

Build it your way

Drop-in or headless

Add a configurable web component, or hide the default button and trigger the flow from your own UI.

Plugin API

Add custom upload sources, UI activities, file actions, and hooks without forking the uploader.

TypeScript support

Type definitions ship with the packages, with autocompletion and type checking.

CLI for scripting and CI

Upload, manage, and migrate files from the terminal or a build pipeline.

Security and control

File validation

Restrict uploads by type, size, and count before anything reaches your storage.

Signed uploads

Generate signature tokens server-side to control who can upload and for how long.

Malware scanning

Uploads can be scanned for malware, with infected files blocked or flagged.

Content filtering

Unsafe content is flagged, including attempts at remote code execution through SVG, HTML, and XML.

Storage and delivery

Your storage or ours

Keep files in Uploadcare storage, or connect your own S3 bucket.

Global CDN

Files are delivered from edge nodes worldwide, on your own project subdomain.

Processing on the same integration

Image transformations, video streaming, and document conversion run on the files you already uploaded.

Webhooks

Fire custom logic on upload, conversion, or delete. Wire file events into your own flow.

FAQ

What is Uploadcare File Uploader?
Uploadcare File Uploader is a drop-in upload widget for accepting files from your users. It ships as Web Components that run natively in React, Vue, Angular, Svelte and Next.js, accepts files up to 5 TB from local storage, camera, and cloud accounts, and can validate and scan every file before it reaches storage.
Which frameworks does it support?
The uploader is built from Web Components, so it runs natively in any modern JavaScript framework. Ready-made examples exist for React, Vue, Angular, Svelte, Next.js and plain JavaScript, with an optional React adapter for React and Next.js projects that prefer a React-first component API. Back-end SDKs cover JavaScript, PHP, Python, Ruby, Go, Java and Rust, and there are native integrations for iOS and Android.
Where can users upload from?
Local files, device camera, a direct link, Dropbox, Google Drive, Google Photos, OneDrive and more, all through the same interface. You choose which sources appear, per project.
What is the maximum file size?
Up to 5 TB. Large files are split into chunks and uploaded in parallel, going straight to storage rather than through Uploadcare’s upload servers.
Can I customize how it looks and behaves?
Yes. Light and dark themes, colour and radius presets, and your own CSS on top. Run it headless to trigger the flow from your own button, and use the Plugin API to add custom upload sources, UI activities, file actions, and hooks without forking the uploader.
How are uploads secured?
Files can be filtered by MIME type and size on upload, scanned for malware, and checked for unsafe content, with infected files blocked when you configure it that way. Signed uploads restrict who can upload and for how long, using HMAC-SHA256 signatures with an expiry. The uploader also blocks remote code execution through SVG, HTML and XML files.
Is Uploadcare SOC 2, HIPAA, and GDPR compliant?
Uploadcare is SOC 2 Type II audited and GDPR compliant, and HIPAA-ready workflows are available. The Upload API carries a 99.9% uptime SLA. Current certifications and documentation are in the Trust Center.
Is the uploader accessible?
Yes. Full keyboard navigation across the upload flow and the image editor, screen reader and voice assistant support, and current accessibility standards. Interface and validation text is localizable.
How does pricing work?
Uploadcare bills in operations rather than credits, drawn from a single monthly allowance that covers uploads, transformations, and delivery. New accounts start with a 14-day Pro trial. Full details are on the pricing page.

Ship the uploader.
Keep your roadmap.