How to batch crop film scans in Lightroom Classic

From install to a cropped roll in five minutes. Plus tips for tuning the tricky scans.

Install

  1. Download Cut Corners. Open the DMG on macOS or extract the ZIP on Windows to find Cut Corners.lrplugin.
  2. Move it somewhere permanent (e.g. Documents/Lightroom Plugins), then in Lightroom Classic open File → Plug-in Manager → Add and select it.
  3. The standard download includes the detection engine — nothing else to install. If you chose the lightweight build instead, install Python 3 with pip install opencv-python numpy and check the Python executable path in the Plug-in Manager's Cut Corners section.
Not sure the engine is working? Plug-in Manager → Cut Corners: Support → Run Diagnostics checks everything and tells you exactly what's missing.

Crop film scans before (or after) converting with Negative Lab Pro

Cut Corners handles cropping and straightening; Negative Lab Pro handles negative conversion. Start with scans that show one full frame and a visible film border. Keep the original scan files in your Lightroom Classic catalog.

  1. Select the unconverted scans and run Cut Corners with the matching film type and format.
  2. Review the crops in Develop. Check any labeled frames and adjust them by hand if needed, so the film border and scanner background are outside the crop.
  3. Continue with your usual Negative Lab Pro conversion workflow.

Already converted the roll? Choose Already inverted in Cut Corners. Crops remain editable Lightroom settings, and one Undo reverts the batch. Cut Corners does not replace a negative conversion tool.

Try this workflow free on 30 images.

Detailed steps to crop a roll

  1. Select one photo or a whole roll in the Library.
  2. Run Library → Plug-in Extras → Cut Corners: Auto-crop film frames.
  3. Pick the film type:
    • Color negative — orange-masked base
    • B&W negative — bright clear base, dark frame
    • Slide / positive — dark rebate, bright frame
    • Already inverted — scans converted to positive before cropping
    • Auto-detect — per-image characterization, for mixed rolls
  4. Pick the film format (35mm full frame, half frame, XPan, 6×4.5, 6×6, 6×7, 6×9, 4×5, or custom) — it sets the aspect ratio detection expects.
  5. Optionally enable Dry run to see what would happen without changing anything.
  6. Review the summary. Skipped frames carry a color label (red by default), so you can filter to them in the grid and crop those few by hand.

Frames that already have a crop are skipped unless you enable Re-crop photos that already have a crop, which resets the crop first so detection sees the full scan. Everything is non-destructive: a single Undo (or the Crop tool in Develop) reverts any of it.

Keyboard shortcut

Lightroom Classic has no built-in shortcut editor for plugin menu items on either platform, so binding one needs to happen in the OS.

macOS

Quit Lightroom, then in Terminal run this, then relaunch:

defaults write com.adobe.LightroomClassicCC7 NSUserKeyEquivalents -dict-add "   Cut Corners: Auto-crop film frames" "^r" && killall cfprefsd

Note: The three leading spaces in the title are required.

Now you can use Control-R to open Cut Corners.

Windows

Use a hotkey utility like AutoHotkey to bind a global hotkey that selects the menu item directly.

Settings & Preview

For a tricky roll, click Settings & Preview… in the run dialog before committing. It shows the detection overlay on the first few selected photos and re-runs live as you adjust anything:

Use these settings saves the values for the batch run; Cancel discards them.

Tuning reference

SettingDefaultMeaning
Edge band0.10Corners must lie within this fraction of each film-area edge
Crop inset0.005Shrinks the crop slightly to keep the rebate edge out
Aspect target1.5Long/short ratio; set by the film format preset, or custom
Aspect tolerance0.08How far off-aspect a frame may be before it's flagged
Min frame area0.64Smallest accepted frame as a fraction of the film area
Max frame area0.99Largest accepted frame as a fraction of the whole scan
Manual threshold0 (adaptive)Fixed brightness cutoff for rolls the adaptive threshold misreads
Mask dark film holder edgesoffExcludes dark scan surround (holders/carriers) from detection
Max preview size1500 pxDetection preview resolution; larger is more precise but slower

Troubleshooting detection

Start with Settings & Preview… — it shows the exact rule that rejected a frame, updating live as you adjust.

For a full roll, enable Save diagnostic images in the run dialog: the temp folder (path shown in the summary) keeps, per frame, the exported preview, the detection verdict, and an overlay image using the same colors as the preview dialog.

Limitations