PHPackages                             lito/yii2-cropper - 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. lito/yii2-cropper

ActiveYii2-extension[File &amp; Storage](/categories/file-storage)

lito/yii2-cropper
=================

Yii-Framework widget for uploading and cropping images

2.0.6(9y ago)050BSD-3-ClausePHP

Since Apr 13Pushed 8y ago1 watchersCompare

[ Source](https://github.com/lllito/yii2-cropper)[ Packagist](https://packagist.org/packages/lito/yii2-cropper)[ RSS](/packages/lito-yii2-cropper/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (11)Used By (0)

Cropper
=======

[](#cropper)

Yii-Framework extension for uploading and cropping images

Installation
------------

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist lito/yii2-cropper "*"

```

or add

```
"lito/yii2-cropper": "*"

```

to the require section of your `composer.json` file.

Differences from the first version
----------------------------------

[](#differences-from-the-first-version)

Second version use JavaScript FileAPI for showing image without preloading to the server. Also this version has client validation.

Usage
-----

[](#usage)

Once the extension is installed, simply use it in your code by :

```
use lito\cropper\Widget;

```

```

```

Widget has following properties:

NameDescriptionDefaultRequireduploadParameterUpload parameter namefileNowidthThe final width of the image after cropping200NoheightThe final height of the image after cropping200NolabelHint in box for previewIt depends on application language. You can translate this message on your language and make pull-request.NouploadUrlURL for uploading and cropping imageYesnoPhotoImageThe picture, which is used when a photo is not loaded.You can see it on screenshots in this instructionsNomaxSizeThe maximum file size (kb).2097152NocropAreaWidthWidth box for preview300NocropAreaHeightHeight box for preview300NoextensionsAllowed file extensions (string).jpeg, jpg, png, gifNoIn UserController:

```
public function actions()
{
    return [
        'uploadPhoto' => [
            'class' => 'lito\cropper\actions\UploadAction',
            'url' => 'http://your_domain.com/uploads/user/photo',
            'path' => '@frontend/web/uploads/user/photo',
        ]
    ];
}

```

Action has following parameters:

NameDescriptionDefaultRequiredpathPath for saving image after crippingYesurlURL to which the downloaded images will be available.YesuploadParameterUpload parameter name. It must match the value of a similar parameter of the widget.fileNomaxSizeThe maximum file size (kb). It must match the value of a similar parameter of the widget.2097152NoextensionsAllowed file extensions (string). It must match the value of a similar parameter of the widget.jpeg, jpg, png, gifNowidthThe final width of the image after cropping. It must match the value of a similar parameter of the widget.200NoheightThe final height of the image after cropping. It must match the value of a similar parameter of the widget.200NoYou can use this widget on frontend and backend. For example: user can change his userpic and administrator can change users userpic.

Operates as follows:
--------------------

[](#operates-as-follows)

User click on new photo area or drag file

[![g4n7fva](https://cloud.githubusercontent.com/assets/7313306/7107319/a09bb4a0-e16a-11e4-9ac5-f57509ba841b.png)](https://cloud.githubusercontent.com/assets/7313306/7107319/a09bb4a0-e16a-11e4-9ac5-f57509ba841b.png)

The picture is loaded by JavaScript FileAPI.

[![yeul3gy](https://cloud.githubusercontent.com/assets/7313306/7107329/02f3eeba-e16b-11e4-9f9d-fb07944a91df.png)](https://cloud.githubusercontent.com/assets/7313306/7107329/02f3eeba-e16b-11e4-9f9d-fb07944a91df.png)

This picture is displayed in the widget and users have the ability to crop it or upload another picture

[![jaungjk](https://cloud.githubusercontent.com/assets/7313306/7107356/8581f3ae-e16b-11e4-8151-d08a4d16f1a0.png)](https://cloud.githubusercontent.com/assets/7313306/7107356/8581f3ae-e16b-11e4-8151-d08a4d16f1a0.png)

When the user clicks "Crop image", a request with file and coordinates is sent to the server. This picture is displayed in the form, and user can save it, or change crop area, or upload another photo.

[![0ejh55q](https://cloud.githubusercontent.com/assets/7313306/7107359/bddeae36-e16b-11e4-889b-484d7dbad8a5.png)](https://cloud.githubusercontent.com/assets/7313306/7107359/bddeae36-e16b-11e4-889b-484d7dbad8a5.png)

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 87.5% 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 ~68 days

Recently: every ~56 days

Total

8

Last Release

3565d ago

Major Versions

1.0.0 → 2.0.02015-05-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/bdd6ec9435a54568ddfd7f73ada07bdc9901c582bce75882c8ba998905a0bd10?d=identicon)[lllito](/maintainers/lllito)

---

Top Contributors

[![krivochenko](https://avatars.githubusercontent.com/u/7313306?v=4)](https://github.com/krivochenko "krivochenko (21 commits)")[![DmitryBay](https://avatars.githubusercontent.com/u/5918164?v=4)](https://github.com/DmitryBay "DmitryBay (2 commits)")[![carlocaprini](https://avatars.githubusercontent.com/u/7250891?v=4)](https://github.com/carlocaprini "carlocaprini (1 commits)")

---

Tags

uploadyii2extensioncrop

### Embed Badge

![Health badge](/badges/lito-yii2-cropper/health.svg)

```
[![Health](https://phpackages.com/badges/lito-yii2-cropper/health.svg)](https://phpackages.com/packages/lito-yii2-cropper)
```

###  Alternatives

[budyaga/yii2-cropper

Yii-Framework widget for uploading and cropping images

4368.5k4](/packages/budyaga-yii2-cropper)[noam148/yii2-image-manager

A Yii2 module/widget for upload and cropping images

12914.8k](/packages/noam148-yii2-image-manager)[liyunfang/yii2-upload-behavior

Upload behavior for Yii 2

161.7k](/packages/liyunfang-yii2-upload-behavior)

PHPackages © 2026

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