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

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

krisates/yii2-cropper
=====================

Yii-Framework widget for uploading and cropping images

2.0.19(8y ago)061BSD-3-ClausePHP

Since Apr 13Pushed 8y ago1 watchersCompare

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

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

Cropper
=======

[](#cropper)

Yii-Framework extension (modified krivochenko/yii2-cropper) 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 krisates/yii2-cropper "*"

```

or add

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

```

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

Usage
-----

[](#usage)

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

```
use krisates\cropper\UploadLogo;

```

```

```

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 preview300NoaspectRatioFix aspect ratio of cropping areanullNoextensionsAllowed file extensions (string).jpeg, jpg, png, gifNoIn UserController:

```
public function actions()
{
    return [
        'uploadPhoto' => [
            'class' => 'krisates\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.200NojpegQualityQuality of cropped image (JPG)100NopngCompressionLevelQuality of cropped image (PNG)1NoYou 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

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 70% 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 ~48 days

Recently: every ~7 days

Total

21

Last Release

3083d ago

Major Versions

1.0.0 → 2.0.02015-05-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ed73a0472235400b1e832110c60fe93859af56e3155570e6994faebcf7da949?d=identicon)[krisates](/maintainers/krisates)

---

Top Contributors

[![krivochenko](https://avatars.githubusercontent.com/u/7313306?v=4)](https://github.com/krivochenko "krivochenko (42 commits)")[![krisates](https://avatars.githubusercontent.com/u/8667395?v=4)](https://github.com/krisates "krisates (4 commits)")[![maxprihodko8](https://avatars.githubusercontent.com/u/22602672?v=4)](https://github.com/maxprihodko8 "maxprihodko8 (4 commits)")[![art009](https://avatars.githubusercontent.com/u/4653709?v=4)](https://github.com/art009 "art009 (2 commits)")[![DmitryBay](https://avatars.githubusercontent.com/u/5918164?v=4)](https://github.com/DmitryBay "DmitryBay (2 commits)")[![linuskohl](https://avatars.githubusercontent.com/u/2761641?v=4)](https://github.com/linuskohl "linuskohl (2 commits)")[![carlocaprini](https://avatars.githubusercontent.com/u/7250891?v=4)](https://github.com/carlocaprini "carlocaprini (1 commits)")[![oonne](https://avatars.githubusercontent.com/u/17686801?v=4)](https://github.com/oonne "oonne (1 commits)")[![uraankhayayaal](https://avatars.githubusercontent.com/u/13504758?v=4)](https://github.com/uraankhayayaal "uraankhayayaal (1 commits)")[![xavsio4](https://avatars.githubusercontent.com/u/1721936?v=4)](https://github.com/xavsio4 "xavsio4 (1 commits)")

---

Tags

uploadyii2extensioncrop

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/krisates-yii2-cropper/health.svg)](https://phpackages.com/packages/krisates-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)[karpoff/yii2-crop-image-upload

Yii 2 Crop image upload widget

1818.5k](/packages/karpoff-yii2-crop-image-upload)[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)
