# @uppy/core

> Core module for the extensible JavaScript file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox, Google Drive, S3 and more :dog:

Latest version **6.0.1** (published 2026-09-07) · MIT license · 0 weekly downloads

## Install

```sh
npm install @uppy/core
pnpm add @uppy/core
yarn add @uppy/core
bun add @uppy/core
```

## Health

**Score 65/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score; popular repo.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 6.0.1 |
| Published | 2026-09-07 |
| First published | 2018-06-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 9 |
| Unpacked size | 1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 30970 |
| Maintainers | kvz, tim-kos, mifi, uppydev |
| Keywords | file uploader, uppy, uppy-plugin |

## Links

- npm: https://www.npmjs.com/package/@uppy/core
- Repository: https://github.com/transloadit/uppy
- Homepage: https://uppy.io
- Issues: https://github.com/transloadit/uppy/issues
- npm.io page: https://npm.io/package/@uppy/core

## Dependencies (9)

- [lodash](https://npm.io/package/lodash.md) ^4.18.1
- [nanoid](https://npm.io/package/nanoid.md) ^5.1.11
- [preact](https://npm.io/package/preact.md) ^10.29.2
- [p-queue](https://npm.io/package/p-queue.md) ^9.3.3
- [p-retry](https://npm.io/package/p-retry.md) ^6.1.0
- [classnames](https://npm.io/package/classnames.md) ^2.5.1
- [mime-match](https://npm.io/package/mime-match.md) ^1.0.2
- [namespace-emitter](https://npm.io/package/namespace-emitter.md) ^2.0.1
- [@transloadit/prettier-bytes](https://npm.io/package/@transloadit/prettier-bytes.md) ^2.0.0

## Recent versions

- 6.0.1 (latest) — 2026-09-07
- 4.0.0-beta.12 (next) — 2024-07-02
- 6.0.0 — 2026-08-26
- 5.2.0 — 2025-12-02
- 5.1.1 — 2025-10-17
- 5.1.0 — 2025-10-08
- 5.0.2 — 2025-09-16
- 5.0.1 — 2025-08-28
- 5.0.0 — 2025-08-22
- 4.5.3 — 2025-08-20
- 4.5.2 — 2025-08-01
- 4.5.1 — 2025-07-29
- 4.5.0 — 2025-07-29
- 4.4.7 — 2025-06-30
- 4.4.6 — 2025-06-02
- … 150 more at https://npm.io/package/@uppy/core/versions

## README

# @uppy/core

<img src="https://uppy.io/img/logo.svg" width="120" alt="Uppy logo: a smiling puppy above a pink upwards arrow" align="right">

[![npm version](https://img.shields.io/npm/v/@uppy/core.svg?style=flat-square)](https://www.npmjs.com/package/@uppy/core)
![CI status for Uppy tests](https://github.com/transloadit/uppy/workflows/CI/badge.svg)
![CI status for Companion tests](https://github.com/transloadit/uppy/workflows/Companion/badge.svg)
![CI status for browser tests](https://github.com/transloadit/uppy/workflows/End-to-end%20tests/badge.svg)

Uppy is a sleek, modular JavaScript file uploader that integrates seamlessly
with any application. It’s fast, provides a comprehensible API and lets you
worry about more important problems than building a file uploader.

- **Fetch** files from local disk, remote urls, Google Drive, Dropbox, or snap
  and record selfies with a camera;
- **Preview** and edit metadata with a nice interface;
- **Upload** to the final destination, optionally process/encode

**[Read the docs](https://uppy.io/docs)** |
**[Try Uppy](https://uppy.io/examples/dashboard/)**

Uppy is being developed by the folks at [Transloadit](https://transloadit.com),
a versatile file encoding service.

## Example

```js
import Uppy from '@uppy/core'

const uppy = new Uppy()
uppy.use(SomePlugin)
```

## Installation

```bash
$ npm install @uppy/core
```

Alternatively, you can also use this plugin in a pre-built bundle from
Transloadit’s CDN: Smart CDN. In that case `Uppy` will attach itself to the
global `window.Uppy` object. See the
[main Uppy documentation](https://uppy.io/docs/#Installation) for instructions.

## Documentation

Documentation for this plugin can be found on the
[Uppy website](https://uppy.io/docs/uppy).

## License

[The MIT License](./LICENSE).

---
_Source: https://npm.io/package/@uppy/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
