PHPackages                             fruitstudios/uploadit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. fruitstudios/uploadit

ActiveCraft-plugin[File &amp; Storage](/categories/file-storage)

fruitstudios/uploadit
=====================

Front-end asset upload for fields, volumes and folders.

1.0.9(7y ago)89761[1 issues](https://github.com/fruitstudios/craft-uploadit/issues)proprietaryPHP

Since Mar 22Pushed 7y ago3 watchersCompare

[ Source](https://github.com/fruitstudios/craft-uploadit)[ Packagist](https://packagist.org/packages/fruitstudios/uploadit)[ RSS](/packages/fruitstudios-uploadit/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (12)Used By (0)

Uploadit plugin for Craft CMS 3.x
=================================

[](#uploadit-plugin-for-craft-cms-3x)

The unausuming front end asset uploader for Craft 3. Use as a standalone uploader or as field in one of your forms:

Features:
---------

[](#features)

- Drop to upload
- Reorder &amp; remove uploads
- Asset previews
- Customisable
- It's Vanilla (Zero dependencies writtin in battle tested javascript)

### Requirements

[](#requirements)

This plugin requires Craft CMS 3.0.0-RC1 or later.

### Installation

[](#installation)

To install the plugin, follow these steps:

1. Install with Composer via:

    ```
    composer require fruitstudios/uploadit

    ```
2. In the Control Panel, go to Settings → Plugins and click the “Install” button for Uploadit.

Using Uploadit
--------------

[](#using-uploadit)

**Options**

```
{{ craft.uploadit.uploader({
	id: 'myUid',
	name: 'myFieldName',
    assets: [],

    field: 'images',
    element: entry,

    volume: 'myvolume',
	folder: 'my/folder/path',

    preview: 'image',
    transform: 'square',

    limit: 5,
    allowReorder: true,
    allowRemove: true,
    customClass: 'custom--class',

}) }}

```

#### `id` option

[](#id-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

#### `name` option

[](#name-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

#### `assets` option

[](#assets-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

#### `field` option

[](#field-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

#### `element` option

[](#element-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

#### `volume` option

[](#volume-option)

To drag elements from one list into another, both lists must have the same `group` value. You can also define whether lists can give away, give and keep a copy (`clone`), and receive elements.

- name: `String` — group name
- pull: `true|false|'clone'|function` — ability to move from the list. `clone` — copy the item, rather than move.
- put: `true|false|["foo", "bar"]|function` — whether elements can be added from other lists, or an array of group names from which elements can be taken.
- revertClone: `boolean` — revert cloned element to initial position after moving to a another list.

---

**Example Standalone Usage**

```
{{ craft.uploadit.uploader({
	id: 'myUid',
	name: 'myFieldName',
	assets: [],
	volume: 'myvolume',
	folder: 'my/folder/path',
	preview: 'image',
	transform: 'square',
    themeColour: '#ff00ff',
}) }}

```

[![Linkit](resources/img/customise-labels.png)](resources/img/customise-labels.png)

**Example Form Usage**

```
{{ craft.uploadit.uploader({
	id: 'myUid',
	name: 'myFieldName',
    assets: [],
    field: 'images',
    element: 345678,
    preview: 'image',
    transform: 'square',
    themeColour: '#ff00ff',
}) }}

```

[![Linkit](resources/img/customise-labels.png)](resources/img/customise-labels.png)

Roadmap
-------

[](#roadmap)

- Better validation
- Translate javascript strings

Note: This plugin will become a paid add-on when the Craft Plugin store becomes available.

Brought to you by [FRUIT](https://fruitstudios.co.uk)

###  Health Score

33

—

LowBetter than 74% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Recently: every ~85 days

Total

10

Last Release

2573d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9f4d08c9f1aa2ba3b8ac8155bfd559bad2e8519f2bf5122274077a64b6801a01?d=identicon)[fruitstudios](/maintainers/fruitstudios)

---

Top Contributors

[![samhibberd](https://avatars.githubusercontent.com/u/1846063?v=4)](https://github.com/samhibberd "samhibberd (1 commits)")

---

Tags

asset-uploadercraftcmscraftcms-plugincmsfront-endCraftcraftcmscraft-pluginasset uploaderuploadit

### Embed Badge

![Health badge](/badges/fruitstudios-uploadit/health.svg)

```
[![Health](https://phpackages.com/badges/fruitstudios-uploadit/health.svg)](https://phpackages.com/packages/fruitstudios-uploadit)
```

###  Alternatives

[superbig/craft3-beam

Generate CSVs and XLS files in your templates

1933.9k](/packages/superbig-craft3-beam)[servd/craft-remote-assets

Move CP assets to an external filesystem such as S3

1215.8k](/packages/servd-craft-remote-assets)[weareferal/remote-backup

Backup your database and assets to a remote location

125.5k](/packages/weareferal-remote-backup)[venveo/craft-compress

Create smart zip files from Craft assets on the fly

124.6k](/packages/venveo-craft-compress)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
