Jeffrey’s “Crop for iPad and Other Devices” Lightroom Plugin

This “export filter” plugin for Adobe Lightroom Classic allows you to apply a device-specific crop to an image during output, so that images fully fill the screen when viewed on the device.

I use it to prepare images for my iPad and iPhone, but it can be used with any device in mind such as digital picture frames, tablet computers, TVs, smartphones, etc.

This plugin works in Lightroom Classic, and older versions as far back as Lightroom 3 (though some features depend on the version of Lightroom).

The same download works for both Windows and Mac. See the box to the upper right for the download link (in orange) and installation instructions.

How To Use

For explicit details on how to use the plugin, see my companion post:

My Lightroom-to-iPad Workflow: Now a Lot More Refined

Independent JPEG Group Software

This plugin software is based in part on the work of the Independent JPEG Group. The crop, if performed, is lossless (it does not lower the quality of the image) because it uses the Independent JPEG Group's most-excellent jpegtran software to do the crop.


This plugin is distributed as “donationware”. I have chosen to make it available for free — everyone can use it forever, without cost of any kind — but unless registered, its functionality is somewhat reduced after six weeks.

Registration is done via PayPal, and if you choose to register, it costs the minimum 1-cent PayPal fee; any amount you'd like to add beyond PayPal's sliding fees as a gift to me is completely optional, and completely appreciated.

Note: a Lightroom major upgrade, such as from Lr10 to Lr11 de-registers the plugin in the upgraded version, so if you want to maintain registration, a new ($0.01 if you like) registration code is needed in the upgraded version. It makes for a hassle every couple of years, I know. Sorry. See this note for details.

For details on plugin registration and on how I came into this hobby of Lightroom plugin development, see my Plugin Registration page.

Version History
( Update Log via RSS )


Whack-a-mole with PayPal's random changes.


Warn when PayPal seems to have given a bogus code in the web-confirmation page.

working around 'constant table overflow' error


Updates for Lr10.


More fixup for sqaure originals.


Fixed (I hope) a bug with respect to non-rotatable devices.

Work around a Windows bug related to canceling out of the registration dialog.

Added some extra debug logging to note whether the plugin is enabled.


Updates for Lr9 (Lightroom Classic CC Version 9).


Added a bunch of Apple devices.

Added some extra debug logging.


Updates for Lr8 (Lightroom Classic CC Version 8).

Added some extra debug logging.

Clicking on the version number in the Plugin Manager now copies version info to the clipboard.


Fix a bug in the previous update.


Added Apple Watch details.

Added a bulk-create utility for keyword sets.

Added support for non-rotatable devices.


Oops, more Lr7 stuff.


Updates for Lightroom 7

Added iPhone X

Update registration support to handle a stupid bug at PayPal that PayPal refuses to fix )-:


Try to avoid yet another place where Lightroom gets hung because it can't handle certain kinds of dialogs at the same time.


Non-ASCII filenames had issues when processed on Windows, so the plugin now works around that.


In the POODLE-vunerability dialog, display a raw URL of a page on my site that discusses the issue, so that folks can be independently sure that the dialog is indeed from me and not malware.

20141222.44 Dialog could get cut off on very small screens
20141019.43 Windows Only: Add a one-time check for the POODLE security vulnerability, and alert the user if it exists.
20140910.42 Added iPhone 6, 6+, and a bunch of other devices
20140902.41 New build system
20140731.40 Registration fix for Lr5.6
20140720.39 More Creative-Cloud support.

Fixed an issue with Creative-Cloud revalidation.


Lr5.5 and later Creative-Cloud installs can now revalidate themselves if needed.

20140710.36 Sigh, had a bug in the Creative-Cloud support.

Now supports Lr5.5+ Creative-Cloud Installs.

20140704.34 Sigh, introduced an error for some folks with the rebuild the other day.
20140630.33 Build-system update

Fixed a bug in the "smoother revalidation" stuff recently added.


Make the revalidation process smoother, especially for folks using Lr5.4 and later.

20131102.29 Update for OS X Mavricks

Added a bunch of stuff to the device database, including new Apple iPads announced today.


Fixed a bug with the aspect-ratio reporting in the keyword-set dialog.


Now works with keywords even if they're not at the root of your keyword tree, so you can freely move the keywords to one subgroup (e.g. "Crops") and things still work smoothly. This creates some ambiguity if you have the same keyword in multiple locations, so don't do that. 🙂

20130613.25 Better support for plugin revalidation.
20130611.24 Yet another Lr5 update
20130610.23 Final update for Lr5
20130506.22 Added some Samsung digital picture frames, Microsoft Surface tables, and some Samsung Galaxy models.
20130501.21 Update for Lr5
20130412.20 Build system update.
20130328.19 Fix for the registration system.
20130209.18 More build-system maintenance
20130206.17 Tweak for my registration system

Minor update for iPad mini.

20120913.15 Update for iPhone 5
20120608.14 Fix an "attempt to perform arithmetic on field" error.

Update to handle the Mac App Store version of Lightroom.

Tweak for Lr4.1RC2.


The crop-preview tool (OSX only) color selection stuff had stopped working... fixed it, and gave that whole area some extra UI love.

Some keyword interaction in the crop-preview tool wasn't working in all cases.

Enhanced the send-log dialog to hopefully make reports more meaningful to me, yielding, I hope, the ability to respond more sensibly to more reports.

20120330.11 Update to handle 4.1RC
20120320.10 Fixed an issue with aspect-ratio recognition.

Added data for new iPad and Galaxy Tab 10.1

Update to the debug logging to better track down timing issues that might arise.

Added a new "Standard for Galaxy Tab 10.1" keyword set.

Fixed some bugs related to aspect-ratio matching in the dialog.

20120229.7 More for Lr4.

Removed kludgy date-based random sort. Some updates for Lr4.


Added crop keyword sets, and a set editor.

For OSX only, added a crop-preview keyword-application dialog. It was a stupendous amount of work, but is very cool! See "Preview Crop" in the Plugin-Extras dialog.

More on the march toward Lr4, including upheaval in the code to handle Lightroom APIs being discontinued in Lr4.

20120114.4 More tweaks for Lr4b

Update for Lr4 beta: explain in the plugin manager that the plugin can't be registered in the beta.

20111210.2 Had issues with the registration button sometimes not showing.
20111104.1 initial release

All 19 comments so far, oldest first...

Hi Jeffrey,

I’ve been using (and contributed to the cause) several of your Lightroom Plugins for a while now. If you haven’t started on it already, I strongly suggest you develop an iCloud import/export plugin. I think there is going to be a large demand for it. There is an iCloud API so I think it is possible but I don’t know how hard it would be (certainly not as hard a Flickr).

Thanks and Seasons Greetings,
Jim Starr

I couldn’t find any info on the iCloud API. It may be there behind some paywall, but they have multiple paywalls (iOS, Mac, etc.) and no apparent way to tell what’s behind them. If you can find documentation on an HTTP/HTTPS API, I’d appreciate a link. —Jeffrey

— comment by Jim Starr on December 25th, 2011 at 8:02am JST (12 years, 7 months ago) comment permalink

I followed your directions for publishing to an iPad, but I don’t understand one thing. If I publish via jF Tree, how does the crop for iPad fit into the cycle? I assume publishing does its own kind of export. Or does this particular export automatically utilize the crop for iPad?

You need to add “Crop for iPad” as a Post-Process filter in the export (whatever export you use…. Tree Publisher, normal disk, etc.). It takes the result of the export, and applies a crop as per its own settings. —Jeffrey

— comment by Daniel Neuman on January 25th, 2012 at 2:26am JST (12 years, 6 months ago) comment permalink

Jeffrey, I think you can start with

— comment by Boris on January 31st, 2012 at 6:15pm JST (12 years, 6 months ago) comment permalink

I have a new iPad 3 and I’m trying to set up “Crop for iPad” – but I’m running into trouble in the Keyword Set section. If I select Apple iPad 3rd gen as the “Target Device” and Standard for iPad as the “Crop Control Keyword Set” I get a red error message that reads “WARNING: aspect ratio does not match the intended aspect ratio of the crop-control keyword set.”

Also, there are no instructions for the FTP Transfer section which I’d love to use since I plan to use Photo Manager Pro as well.

Please help?


If I only had a new iPad for testing… 🙂 I’ve pushed a fix, sorry about that. As for the FTP stuff, it should be pretty easy to figure out…. turn on the FTP server in FMP, then copy its settings to the FTP dialog in the plugin… —Jeffrey

— comment by Mark on March 20th, 2012 at 1:28pm JST (12 years, 4 months ago) comment permalink

I bumped into this plugin after posting a question here:

This plugin seems to do half of what I need. Question for Jeffrey, is it possible to enhance the plugin so that rather than giving a handful of hard-coded crop options maybe you can allow an arbitrary crop for each image to be saved using a naming convention? Is it possible to save the current crop setting into a piece of metadata?

Lightroom currently makes that very difficult… there’s no way to apply the crop at export time, and I’m not even sure whether we have access to the crop in the first place. It was a miracle that I was able to get as much working as I did. —Jeffrey

— comment by Bob on May 1st, 2012 at 2:54pm JST (12 years, 3 months ago) comment permalink

I did a bit reading on the SDK, it seems that the crop is available in LrPhoto class’ photo:getDevelopSettings(), in those members with names like CropXXX. However, this must the current crop set in develop module.

I was thinking about adding custom metadata fields via photo:setPropertyForPlugin() to hold multiple crop settings. For example, add a button or menu item to record the current crop dimensions into a selected custom metadata field called “iPadCrop”. The part that I’m unsure about is how to use such metadata during export. I don’t see any photo:setDevelopSettings() function avaiable so I can’t apply the crop setting using the metadata on the fly. Do you think this is a worthwhile option for me to pursue?

You can apply develop settings via a preset (LrPhoto:applyDevelopPreset), but the crop is not included in develop presets. I don’t know of any way to apply an arbitrary crop on export, which is why I have the plugin do it outside of Lightroom. —Jeffrey

— comment by Bob on May 3rd, 2012 at 11:43am JST (12 years, 3 months ago) comment permalink

Hi the Workflow for iPad is the best ever i found so far 😉 ty so much for that 😉
I have one small addition or questions… as you i use Photo Manager Pro, but i am still missing the feature to enable an AirPlay slideshow…

So any idea or hint how it could be possible to enable a slideshow via AirPlay to AppleTV or another Workflow for that…

I mean to show a big group photos on a small iPad is not nice 😉

Cheers alex

I don’t know anything about AirPlay or AppleTV, sorry. —Jeffrey

— comment by OrinocoDelta on October 9th, 2013 at 5:58pm JST (10 years, 9 months ago) comment permalink

Hi Jeffrey

I have been using the jf Collection Publisher for some time now and have been been very happy. Today however I had a problem with the publishing service which keeps giving me the same error message

crop-for-iPad#30 +87.1: [A51C628] @Process line 371:
Error running jpegtran

I have subsequently updated jf Collection Publisher, jf Crop for iPad & jf Metadata Wrangler but this has not fixed the problem. Any suggestions ???

Please send a plugin log after encountering the error. —Jeffrey

— comment by Linda K on June 8th, 2015 at 10:37pm JST (9 years, 1 month ago) comment permalink

Hi Jeffrey

Wow what service, a reply with a solution in less than 12 hours, this is just fantastic !! I have yet to see if it has worked but I have every confidence in your abilities. thank you so much.

I notice in a previous post that OrinocoDelta is having problems enabling Airplay between Photo Manager Pro & Apple? The solution is to point the i-Tunes photo folder to his dropbox for i-Pad – however the photos are not formatted to fit a TV screen and will appear distorted, plus can only be viewed as shot ( not rotated). Hope this helps.

Linda K

— comment by Linda K on June 9th, 2015 at 1:52pm JST (9 years, 1 month ago) comment permalink

Where in the publish workflow does the crop step take place ? When I add this to a Publish service ( jf Collection Publisher) the “Crop for iPad” is below the sharpen settings. It seems that it would be best to crop before sharpening.

I don’t think cropping and sharpening are related… the order wouldn’t matter, except perhaps it’s better to crop after sharpening for the pixels that become edges by cropping. But in any case, Lightroom gives little control here. Lightroom produces a final baked JPEG image, then passes it on to any “export filters” like this plugin, in the order you have the export filters listed in the Export/Publish dialogs. So they can do things to the final JPEG, but can’t influence how it’s made. This plugin uses a cropping method that does not re-encode the JPEG, so there’s not quality degradation, and you end up with exactly whatever sharpening you had before. —Jeffrey

— comment by Thomas White on June 19th, 2016 at 11:24pm JST (8 years ago) comment permalink

Hi Jeffrey,

I use your Metadata Wrangler for years now – it’s just great. So there was no long consideration to search your site for another plugin to solve my current problem.

A few weeks ago I bought a new TV which is able to playback pictures quite nice. The only thing that bothers me is the different aspect ratio between my pictures and the TV. So I want to crop the images to an aspect ratio of 16:9.

With the Crop for iPad plugin it can be done, but one question: The TV can hardly be turned around so all pictures are ideally in landscape format. Since I have pictures in portrait format too, I would want them to be as wide as possible. That means pictures that are originally in landscape format should be cropped. And pictures that are originally in portrait format should NOT be cropped by your plugin. Now is it possible to add a feature to this plugin which realizes just this behaviour? (If the width of the original picture is bigger than its height do crop, otherwise do not.) That would be great because otherwise I would have to add keywords to all the pictures.

Thanks, Maik

The plugin already has separate sections for too-tall vs. too-wide photos. Beyond that, you might use my Data Explorer plugin to isolate all Portrait shots, and add the no-crop keyword in bulk. —Jeffrey

— comment by Maik on September 24th, 2016 at 3:37am JST (7 years, 10 months ago) comment permalink

Apple iPhone 5, 5s, 5c:
WARNING: aspect ratio does not match the intended aspect ratio of the crop-control keyword set.
Do you plan to fix it? Thank you

Fix what? The plugin is telling you that the crop-control keyword set you have currently selected is for a different aspect ratio. Choose (or make) a keyword set for the aspect ratio you actually have. —Jeffrey

— comment by Newsky on March 3rd, 2017 at 2:25am JST (7 years, 5 months ago) comment permalink

Hi Jeffrey

Spain calling. I’m trying to use Crop for iPad for the first time (Sierra 10.12.3 and LR 6.9). When I click ‘apply to photo’ I see a dialog box with the title ‘Scanning Library Keywords’. The text says ‘Fetching keywords …’. The progress bar remains at zero and LR hangs. The only way out is to force quit.

There are no obvious (to me!) errors in the debug log at the quit point, I’ll supply the log if required.



Do you perhaps have a bazillion and a half keywords? It could take some time, but shouldn’t require a force quit. When I hear about these kinds of really weird errors, the solution is often to reset your Lightroom preferences. It’s hard to imagine how that could matter here, but that’s the only thing that comes to mind. /-: —Jeffrey

— comment by Paul B on March 17th, 2017 at 2:28am JST (7 years, 4 months ago) comment permalink

Hi Jeffrey

Right. I’ve excluded the LR Preferences as a contributory factor.

My keyword set is indeed large but not, I’d have thought, excessive by some other photographers’ standards. I have flora and fauna hierarchical sets plus my own keywords. If I export my keywords the file size is 1.5Mb. The file contains 64k lines but because of synonyms etc the actual number of keywords is probably half that at most. When I click ‘add to photo’ the first part of the keyword fetch (which occurs before the progress bar is populated) takes around 3 minutes. The second part, during which the progress bar is updated, takes a further 40 seconds.

I just wasn’t anticipating a delay like that which is why I’d assumed a hang; my bad.

But sadly it looks like I’m going to have to skip this plug-in in my iPad workflow; that delay is just not workable on a per-photo basis.


— comment by Paul B on March 21st, 2017 at 2:46am JST (7 years, 4 months ago) comment permalink

I recently built out a system to publish our photos for a photo operations system through Lightroom. This includes tethered capture with a Cannon EOS 60D camera. Then for publishing settings we have Crop for Ipad set, followed by Mogrify where we have annotations added. Finally, we have folder watch watching the import folder and running these publish settings and exporting to another folder.

Folder watch is watching a folder called lrhot, and exporting to a folder called 8×10. When Crop for Ipad is not added, this process works perfectly, but then our photos are the wrong size and the annotations are cropped off when printed. As soon as we add in Crop for Ipad, we receive the following error on the first one or two photos. It will pop up 2 to 4 times. Then any time the camera falls asleep and is woken, this error comes up again. Processing stops until we clear the error several times.

The error states: Crop-for-iPad: couldn’t rename post-crop: C:\Users\wwpho\AppData\Local\Temp\LR-909.jpg: unknown error (1)

Once we click ok a few times through the error, the crop for the first image works just fine, but it’s a problem because we can’t have someone sitting and watching for the error.

We’re on the most current version of Lightroom classic with the newest versions of mogrify and folder watch. We have had 0 issues with folder watch or mogrify.

I’m worried that this might be some kind of race condition within Lightroom, wherein it’s not waiting for one plugin to finish before allowing the next to work. In any case, I’ve pushed out a new version of Crop for iPad that includes extra debug logging… please send the plugin log when you next encounter the error. —Jeffrey

— comment by Rachel on April 9th, 2019 at 12:31am JST (5 years, 3 months ago) comment permalink

Same Rachel as the last message. We just did the folder watch update and the same error message from above, “Couldn’t rename post-crop” came back. When you did the last crop for ipad update, it was fixed… now it’s back with the new folder watch update.

The previous update only added logging, but the nature of “race conditions” (mentioned in my previous comment) makes them highly unpredictable. In any case, please do send that plugin log as I mentioned in the previous comment. —Jeffrey

— comment by Rachel on July 29th, 2019 at 12:31am JST (5 years ago) comment permalink

Hey Jeff,

I am trying to use your plugin to create a 1080×1920 pixels crop to post in my Instagram Story on export. I set up my export preset to resize the photo to a height of 1920px and in your plugin set up custom screen dimensions of 1080×1920 pixels, fixed. It works fine on photos that are in portrait orientation, but square or landscape photos aren’t being cropped. Am I missing something really obvious?

Greetings from Germany and big thanks for your work,

It looks like I had a bug. I’ve taken a crack at fixing it with a new version that I just released; please give it a shot… —Jeffrey

— comment by Michael on April 15th, 2020 at 12:12am JST (4 years, 3 months ago) comment permalink

Hey Jeffrey,

thanks for your quick help, it is working now for portrait and landscape photos, but still not for square ones. I am getting the following error now:

crop-for-iPad#55 +507.8>135305 [x6000031fd088] @Process line 450:
Error running jpegtran

log = “/Users/michael/Plugins/crop-for-iPad-jfriedl.lrplugin/Mac/jpegtran: bogus -crop argument ‘1920×3413+0+-746’

status = 256

_____ _____ _____ _____ _____ _____ _____ _____ _____

(The exported image dimensions are 1920 x 1920 pixels.)


Thanks for the report, and sorry for the hassles. I’ve pushed out a new version. —Jeffrey

— comment by Michael on April 15th, 2020 at 8:56pm JST (4 years, 3 months ago) comment permalink

Hi just started using this very nice plugin on LR Classic 10.11 , Mac OS Catalina.
my objective is to export square images 1024×1024 from larger TIFF images of 4:3 and 3:2 aspect ratios. i choose the “Custom” target setting, enter 1024 in both height and width fields , crop center, crop center.
The exported images are square but they are not reduced to 1024×1024, they are squared off at the shorter of the 2 original dimensions. i,e original is 6000×4000 , the exported image is 4000×4000.
Am i doing something wrong or misunderstanding the functionality?

The latter: it doesn’t crop to a specific size, but to a specific aspect ratio. Off the top of my head, you can try setting the export size to “short side to 1024 pixels” in the standard image-size settings, and that, along with the plugin, should get what you want. —Jeffrey

— comment by Mike F on March 16th, 2021 at 7:53am JST (3 years, 4 months ago) comment permalink
Leave a comment...

All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

IMPORTANT:I'm mostly retired, so I don't check comments often anymore, sorry.

You can use basic HTML; be sure to close tags properly.

Subscribe without commenting