All exported images are stored in an app-specific folder under DCIM/imageops.
Android photo cropping and rotation utility
Crop, rotate, and resize photos with a selection mask that can extend beyond the source image, filling empty corners with a background color instead of clipping your selection.
ImageOps is a phone-first Android editor for rotating, cropping, resizing, mirroring, and padding mixed-size photo batches to a common aspect ratio, all processed on-device.
Continuous rotation around the center of the base image, plus a separate 90° counter-clockwise rotation button and an auto-straighten button that detects the dominant angle of the image content.
Exports use a numeric suffix (_1, _2, ...) that increments until a free file name is found.
The output image resolution is derived directly from the selection mask size relative to the source image, so results can be smaller or larger than the source.
Support
If ImageOps is useful in your workflow, support broader device validation and export hardening.
Support helps fund Android device coverage, rendering accuracy checks, and the work needed to keep local photo processing reliable across releases.
How it works
4 focused workflows from one landing page.
Select, crop, and resize
Pick an image and adjust a selection mask that starts covering the whole image and can be resized freely or to standard aspect ratio presets.
Choose a fixed aspect ratio (1:1, 3:4, 4:3, 2:3, 3:2, 9:16, 16:9, and more) or select freely.
Pad to aspect ratio
Place complete images of different sizes on centered background canvases with one shared aspect ratio.
Calculates the smallest exact-ratio canvas independently for each image.
Rotate and mirror
Rotate the base image continuously around its center, apply quick 90° turns, and mirror horizontally or vertically.
A 90° counter-clockwise rotation button that also swaps a fixed aspect ratio to its reciprocal.
Export with background fill
Save the crop with any uncovered mask area filled by a configurable background color, at a resolution derived from the source image.
Output resolution mirrors the source image pixel density based on the mask size.
Features
Everything ImageOps handles, workflow by workflow.
Workflow 1
Select, crop, and resize
Pick an image and adjust a selection mask that starts covering the whole image and can be resized freely or to standard aspect ratio presets.
- Resize the mask from any of its four corners or four edges.
- Choose a fixed aspect ratio (1:1, 3:4, 4:3, 2:3, 3:2, 9:16, 16:9, and more) or select freely.
- The selection mask can extend beyond the source image bounds.
Workflow 2
Pad to aspect ratio
Place complete images of different sizes on centered background canvases with one shared aspect ratio.
- Preserves the complete source image without cropping or scaling.
- Calculates the smallest exact-ratio canvas independently for each image.
- Reports saved files and individual failures for mixed-size batches.
Workflow 3
Rotate and mirror
Rotate the base image continuously around its center, apply quick 90° turns, and mirror horizontally or vertically.
- Continuous rotation slider from -45° to +45°, centered on the base image.
- A 90° counter-clockwise rotation button that also swaps a fixed aspect ratio to its reciprocal.
- Horizontal and vertical mirroring that affects only the base image, not the mask.
Workflow 4
Export with background fill
Save the crop with any uncovered mask area filled by a configurable background color, at a resolution derived from the source image.
- A color picker configures the fill color used for areas outside the source image, defaulting to white.
- Output resolution mirrors the source image pixel density based on the mask size.
- Collision-safe naming under DCIM/imageops avoids overwriting existing files.
Quality and reliability
Release confidence is built into the workflow.
This same release hardening mindset carries through local checks and device-level export validation.
FAQ
Common questions about ImageOps.
Where do outputs go?
All exported images are stored in an app-specific folder under DCIM/imageops.
What happens if the selection extends past the image?
Any part of the selection mask not covered by the source image is filled with a configurable background color, which defaults to white.
How are duplicate output names handled?
Exports use a numeric suffix (_1, _2, ...) that increments until a free file name is found, so existing files are never overwritten.