PHPackages                             soundsmarket/nova-image-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. soundsmarket/nova-image-cropper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

soundsmarket/nova-image-cropper
===============================

A Laravel Nova field tweeked by Sounds Market.

1.1.6(4y ago)025MITVuePHP &gt;=7.1.0

Since Aug 31Pushed 4y agoCompare

[ Source](https://github.com/soundsmarket/nova-image-cropper)[ Packagist](https://packagist.org/packages/soundsmarket/nova-image-cropper)[ GitHub Sponsors](https://github.com/beliolfa)[ RSS](/packages/soundsmarket-nova-image-cropper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (18)Used By (0)

Image Field with built-in cropper for Laravel Nova
==================================================

[](#image-field-with-built-in-cropper-for-laravel-nova)

‼️ This is a fork from this [package](https://github.com/64robots/nova-image-cropper).
--------------------------------------------------------------------------------------

[](#bangbang-this-is-a-fork-from-this-package)

This field extends Image Field adding a handy cropper to manipulate images. Can be configurable in the same way as a [File field in Nova](https://nova.laravel.com/docs/1.0/resources/file-fields.html).

### Demo

[](#demo)

[![Demo](https://camo.githubusercontent.com/9b16f0ae34717ca2ae17ecb259889e884983c5ea5416de381d588fedd7362d38/687474703a2f2f672e7265636f726469742e636f2f397562574462714e4e4c2e676966)](https://camo.githubusercontent.com/9b16f0ae34717ca2ae17ecb259889e884983c5ea5416de381d588fedd7362d38/687474703a2f2f672e7265636f726469742e636f2f397562574462714e4e4c2e676966)

### Install

[](#install)

Run this command into your nova project: `composer require soundsmarket/nova-image-cropper`

### Add it to your Nova Resource:

[](#add-it-to-your-nova-resource)

```
use SoundsMarket\NovaImageCropper\ImageCropper;

ImageCropper::make('Photo'),
```

### Update form

[](#update-form)

In order to edit the existing image saved in the model, ImageCroper uses the preview method to return a base64 encoded image. You can either use the default implementation or override it as long as you return a base64 image.

```
use SoundsMarket\NovaImageCropper\ImageCropper;

ImageCropper::make('Photo')
        ->preview(function () {
            if (!$this->value) return null;

            $url = Storage::disk($this->disk)->url($this->value);
            $filetype = pathinfo($url)['extension'];
            return 'data:image/' . $filetype . ';base64,' . base64_encode(file_get_contents($url));
        });
```

### Options

[](#options)

#### Avatar mode

[](#avatar-mode)

You can add a rounded mask to the preview and the cropper

```
ImageCropper::make('Photo')->avatar()
```

#### Custom aspect ratio

[](#custom-aspect-ratio)

Define the fixed aspect ratio of the crop box.

- Type: Number
- Default: NaN

```
ImageCropper::make('Photo')->aspectRatio(16/9)
```

For free ratio use:

```
ImageCropper::make('Photo')->aspectRatio(0)
```

### Localization

[](#localization)

Set your translations in the corresponding xx.json file located in `/resources/lang/vendor/nova`

```
...

  "Edit Image": "Editar Imagen",
  "Cancel Crop": "Cancelar Recorte",
  "Change Image": "Cambiar Imagen",
  "Done": "Hecho",
  "Click here or drop the file to upload": "Click aquí o arrastra el archivo para comenzar la subida"
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 56.3% 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 ~74 days

Recently: every ~256 days

Total

17

Last Release

1623d ago

### Community

Maintainers

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

---

Top Contributors

[![beliolfa](https://avatars.githubusercontent.com/u/12644599?v=4)](https://github.com/beliolfa "beliolfa (27 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (17 commits)")[![cretueusebiu](https://avatars.githubusercontent.com/u/1517945?v=4)](https://github.com/cretueusebiu "cretueusebiu (1 commits)")[![francauxach](https://avatars.githubusercontent.com/u/21217247?v=4)](https://github.com/francauxach "francauxach (1 commits)")[![icaroce](https://avatars.githubusercontent.com/u/13601799?v=4)](https://github.com/icaroce "icaroce (1 commits)")[![riesjart](https://avatars.githubusercontent.com/u/23455176?v=4)](https://github.com/riesjart "riesjart (1 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/soundsmarket-nova-image-cropper/health.svg)

```
[![Health](https://phpackages.com/badges/soundsmarket-nova-image-cropper/health.svg)](https://phpackages.com/packages/soundsmarket-nova-image-cropper)
```

###  Alternatives

[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[digital-creative/conditional-container

Provides an easy way to conditionally show and hide fields in your Nova resources.

116593.8k4](/packages/digital-creative-conditional-container)[genealabs/laravel-overridable-model

Provide a uniform method of allowing models to be overridden in Laravel.

92398.0k2](/packages/genealabs-laravel-overridable-model)[inspheric/nova-defaultable

Default values for Nova fields when creating resources and running resource actions.

51174.8k1](/packages/inspheric-nova-defaultable)[murdercode/nova4-tinymce-editor

Boost your Laravel Nova with the TinyMCE editor.

17165.2k](/packages/murdercode-nova4-tinymce-editor)[yieldstudio/nova-google-autocomplete

A Laravel Nova Google autocomplete field.

12218.4k](/packages/yieldstudio-nova-google-autocomplete)

PHPackages © 2026

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