A Flutter plugin for cropping images on Android, iOS, and Web using native libraries.
Image Cropper is a Flutter plugin that enables developers to integrate image cropping functionality into their cross-platform applications. It solves the need for a consistent cropping interface across Android, iOS, and Web by wrapping native libraries like uCrop, TOCropViewController, and Cropper.js via platform channels.
Flutter developers building mobile or web applications that require image editing features, such as profile picture uploads, photo editing tools, or media-heavy apps.
Developers choose this plugin because it provides native-performance cropping with platform-specific UIs, extensive customization options, and a unified Dart API—avoiding the need to implement separate cropping solutions for each platform.
A Flutter plugin for Android and iOS supports cropping images
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses uCrop, TOCropViewController, and Cropper.js via platform channels for smooth, native-feeling cropping on each platform, as highlighted in the README's emphasis on leveraging powerful native libraries.
Provides platform-specific settings (AndroidUiSettings, IOSUiSettings, WebUiSettings) for detailed control over colors, aspect ratios, crop styles, and toolbar behavior, with examples in the customization sections.
Offers a consistent Dart interface for Android, iOS, and Web, simplifying development with a unified API while using native libraries underneath.
Builds on well-maintained native libraries like uCrop and TOCropViewController, ensuring robust functionality and reliability, as credited in the README.
Requires adding UCropActivity to AndroidManifest.xml and Cropper.js scripts to Web index.html, adding configuration overhead compared to simpler plugins.
The README notes that features like compressQuality don't work on Web, and the implementation is 'much different' compared to mobile, leading to potential inconsistencies.
iOS customization supports only one custom aspect ratio in the preset list, as mentioned in the example code's note, restricting flexibility for complex use cases.
Cropped images are saved in temporary directories (NSTemporaryDirectory on iOS, Cache on Android), requiring developers to manually handle permanent storage, as warned in the README.