PHPackages                             monim67/laravel-user-image-croppie - 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. [Image &amp; Media](/categories/media)
4. /
5. monim67/laravel-user-image-croppie

ActiveLibrary[Image &amp; Media](/categories/media)

monim67/laravel-user-image-croppie
==================================

Laravel package to Crop and Upload Square/Circular User Profile Picture

v1.0.2(7y ago)123341[1 issues](https://github.com/monim67/laravel-user-image-croppie/issues)[1 PRs](https://github.com/monim67/laravel-user-image-croppie/pulls)MITPHP

Since Nov 23Pushed 6y ago1 watchersCompare

[ Source](https://github.com/monim67/laravel-user-image-croppie)[ Packagist](https://packagist.org/packages/monim67/laravel-user-image-croppie)[ Docs](https://github.com/monim67/laravel-user-image-croppie)[ RSS](/packages/monim67-laravel-user-image-croppie/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (0)

laravel-user-image-croppie
==========================

[](#laravel-user-image-croppie)

This package adds square/circular user profile image with an update event to laravel application. Users can rotate, resize and crop profile picture before upload with pure JavaScript, no jQuery needed. An avatar controller is included to handle image upload which emits an event after a successful avatar upload.

[![Steps of image upload - laravel-user-image-croppie](https://raw.githubusercontent.com/monim67/laravel-user-image-croppie/39c06c651176b9cddf93fdb4ff650e528bb83520/.github/images/lui-croppie-cover.png)](https://raw.githubusercontent.com/monim67/laravel-user-image-croppie/39c06c651176b9cddf93fdb4ff650e528bb83520/.github/images/lui-croppie-cover.png)

[![version of laravel-user-image-croppie](https://camo.githubusercontent.com/bdd4d4d4d8547815abab64e6661d4f962781a7403f9368ead6904d3fe62dd23a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f6e696d36372f6c61726176656c2d757365722d696d6167652d63726f707069652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/bdd4d4d4d8547815abab64e6661d4f962781a7403f9368ead6904d3fe62dd23a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f6e696d36372f6c61726176656c2d757365722d696d6167652d63726f707069652e7376673f7374796c653d666c61742d737175617265)[![licence of laravel-user-image-croppie](https://camo.githubusercontent.com/3534980efa1f1db5673cb1a500aa57b22d25d269a50cce1275aa067a856fbaa8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f6e696d36372f6c61726176656c2d757365722d696d6167652d63726f707069652e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/3534980efa1f1db5673cb1a500aa57b22d25d269a50cce1275aa067a856fbaa8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d6f6e696d36372f6c61726176656c2d757365722d696d6167652d63726f707069652e7376673f7374796c653d666c61742d737175617265)

Features
--------

[](#features)

- Resize/Rotate/Crop image before upload.
- Upload image with a progress bar.
- Built with Vanilla JavaScript, no jQuery needed.
- Emits AvatarUpdate Event on successful image upload.
- Includes Routes and Controllers within the package.
- Includes optional migration that adds avatar column to user table.
- Integration to laravel with just few simple steps.
- Fully customizable through editing the config file.
- Includes localization support.
- Can be used along with laravel voyager admin panel.

Getting Started
---------------

[](#getting-started)

Install the package via composer and publish the config file.

```
composer require monim67/laravel-user-image-croppie
php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=config

```

If you already have a database column for user's image, you need to specify it in the config file, otherwise you can publish the migration from this package that adds a column named `avatar` to users table.

```
php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=migrations
php artisan migrate

```

Add the following to your routes in `web.php` file.

```
Route::prefix('avatar')->middleware('auth:web')->group(function(){LUICroppie::routes();});
```

This will include edit and update routes for user image. You can use any prefix of your choice.

If you only want the update route, use the following instead.

```
Route::prefix('avatar')->middleware('auth:web')->group(function(){LUICroppie::update_routes_only();});
```

The edit route will look for `resources\views\avatar\edit.blade.php`. So create a file extending your base layout template and include the image upload form in it.

```
@extends('layouts.main')

@section('content')
@include('lui-croppie::partials.css')
@include('lui-croppie::partials.js')

                Change Profile Picture

                @include('lui-croppie::bootstrap3.default')

@stop
```

That is all you need, the controller is shipped with the package, you don't need to write controller actions. Run the development server and visit `http://localhost:8000/avatar/edit` to see it in action.

Customizing the options
-----------------------

[](#customizing-the-options)

You can edit the config file `lui-croppie.php` in your config directory to customize the options to your needs.

**NOTE:** For circular profile picture set image type to `circle`.

Other Form Layouts
------------------

[](#other-form-layouts)

At present only Bootstrap 3 layout is included, few more will be added later. You can also draw your own layout, or even create PR with your own layout.

If you don't want a separate page to upload image, you can add this form to one of your existing pages ie the profile page or account settings page. Then include only update route to your `web.php` and include the password-update form in the page of your choice.

Localization
------------

[](#localization)

If you want to customize package language files publish them to modify. Files will be published to `resources\lang\vendor\lui-croppie` directory. You can create lang files for other languages there.

```
php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=lang

```

User Image Update Event
-----------------------

[](#user-image-update-event)

When user uploads an image `Monim67\LaravelUserImageCroppie\Events\AvatarUpdate` event is emitted, you can subscribe to the event or add listeners to it.

Acknowledgments
---------------

[](#acknowledgments)

This package uses [Croppie](https://foliotek.github.io/Croppie/) Javascript Image Cropper to crop images to upload.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity63

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 ~10 days

Total

3

Last Release

2712d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8ab9d9cef2734687dee93a46cb56f4c2bc1eb3bff178917c86b90252ae12ae20?d=identicon)[monim67](/maintainers/monim67)

---

Top Contributors

[![monim67](https://avatars.githubusercontent.com/u/6266677?v=4)](https://github.com/monim67 "monim67 (6 commits)")

---

Tags

laravelprofile-picturelaravelavatarprofile pictureImage upload

### Embed Badge

![Health badge](/badges/monim67-laravel-user-image-croppie/health.svg)

```
[![Health](https://phpackages.com/badges/monim67-laravel-user-image-croppie/health.svg)](https://phpackages.com/packages/monim67-laravel-user-image-croppie)
```

###  Alternatives

[intervention/image-laravel

Laravel Integration of Intervention Image

1496.5M102](/packages/intervention-image-laravel)[bkwld/croppa

Image thumbnail creation through specially formatted URLs for Laravel

510496.0k23](/packages/bkwld-croppa)[mostafaznv/nova-ckeditor

CkEditor for Laravel Nova

57327.2k1](/packages/mostafaznv-nova-ckeditor)[danihidayatx/image-optimizer

Optimize your Filament images before they reach your database. Forked from joshembling/image-optimizer for Filament v4 &amp; v5 support.

254.4k](/packages/danihidayatx-image-optimizer)

PHPackages © 2026

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