What is TOCropViewController?

TOCropViewController is an open-source UIViewController subclass to crop out sections of UIImage objects, as well as perform basic rotations. It is excellent for things like editing profile pictures, or sharing parts of a photo online. It has been designed with the iOS Photos app editor in mind, and as such, behaves in a way that should already feel familiar to users of iOS.

For Swift developers, CropViewController is a Swift wrapper that completely encapsulates TOCropViewController and provides a much more native, Swiftier interface.


  • Crop images by dragging the edges of a grid overlay.
  • Optionally, crop circular copies of images.
  • Rotate images in 90-degree segments.
  • Clamp the crop box to a specific aspect ratio.
  • A reset button to completely undo all changes.
  • iOS 7/8 translucency to make it easier to view the cropped region.
  • The choice of having the controller return the cropped image to a delegate, or immediately pass it to a UIActivityViewController.
  • A custom animation and layout when the device is rotated to landscape mode.
  • Custom ‘opening’ and ‘dismissal’ animations.
  • Localized in 18 languages.


  • Pricing: Free
  • Resource Link: https://github.com/TimOliver/TOCropViewController
  • Resource Maker: Tim Oliver
  • Mobile Platform Destination: iOS Apps
  • Mobile Platform Support: Native iOS
  • Programming Languages: Objective-C
  • iOS Versions Supported: iOS 8.0+, iOS 9.0+, iOS 10.0+, iOS 11.0+, iOS 12.0+
  • CocoaPods: TOCropViewController
  • Carthage: TimOliver/TOCropViewController