macOS (formerly called Mac OS X, then OS X) is Apple’s desktop operating system. It is the second most common desktop computing platform after Windows. This page details issues specific to using ImageJ on macOS systems.
See also the Java 8 page for OS-X-specific issues.
See also the Troubleshooting page.
ImageJ becomes very slow after running for a while
There are several reasons ImageJ can run slowly on macOS.
Java painting bug
On OS X, older versions of Java 8 (prior to 1.8.0_45)—as well as all versions of Java 7 (including 1.7.0_80)—are extremely slow at displaying images. You should either upgrade to the latest version of Java 8, or revert to Java 6 (see “Frequently Asked Questions” below).
Window menu bar bug
There is a bug in Java 8 on MacOS which causes the application to drastically slow down as many windows are opened and closed over time. Make sure you are using the latest version of Java 8, as well as the latest version of ImageJ.
On recent versions of OS X—10.9 “Mavericks” and later—there is an “App Nap” feature which dramatically slows down applications that are not in the foreground. Leave ImageJ in the foreground while it is processing to avoid this issue. (There are also various ways to disable App Nap on your machine, but we have not had much success with them. If you find a solution that works, allowing ImageJ to run fast in the background, please tell us on the forum!)
No title bar in file chooser dialogs
On macOS 10.11 “El Capitan” and later, the operating system no longer includes a title bar for file chooser dialogs. See e.g. this JDK bug discussing the issue.
As a workaround, you can check “Use JFileChooser to open/save” in the Edit › Options › Input/Output… dialog.
Frequently Asked Questions
See also the Frequently Asked Questions page.
How do I run ImageJ with Java 6?
It is unfortunately no longer feasible to install Apple Java 6 on current versions of macOS. However, ImageJ should work OK with Java 8. If you have difficulties, please post on the Image.sc Forum.
At any time, you can verify which Javas are installed on your system using this script .
How do I run ImageJ on Yosemite?
How do I run ImageJ on El Capitan?
Unfortunately, El Capitan has some new java-related issues. If you upgraded to El Capitan and your Java 8 installation is not being detected properly:
- Try installing the Java SE JDK.
- If that does not work, see this guide for steps which could get things working again.
- Alternately, ImageJ still works on El Capitan with Java 6 (see above).
Additional macOS Tips
|This section is out of date, potentially misleading or invalid. Be careful with any instructions here. When in doubt, [ask for help from the community](/Help).|
Running Fiji in 32-bit mode
It may no longer be possible to start Fiji in 32-bit on recent versions of OS X. See this bug report for details.
Fiji on Intel Macs runs on Java 1.6 in 64-bit mode. If you need to run it in 32-bit mode, you can do so as follows:
- Launch Fiji normally, and choose Edit › Options › Memory & Threads .
- Reduce your Maximum Memory setting to ~1800 MB or less.
- Quit Fiji.
clickthe Fiji dock icon and choose Options › Show in Finder .
clickon the Fiji application icon that pops up, and choose Show Info (or press
- Check the “Open in 32-bit mode” box in the Fiji info window.
- Press the red X on the Fiji info window to close it.
- Launch Fiji again, and the status bar should report “[32-bit]” in brackets.
Alternately, you can execute the following code from the Terminal:
arch -i386 /Applications/Fiji.app/Contents/MacOS/ImageJ-macosx
Either way, you will need to make sure your maximum memory limit is set below ~1800 MB. If your maximum memory is set higher than the 32-bit limit, Fiji will not be able to start up successfully in 32-bit mode.
Limited PowerPC (G4/G5) Mac support
Note: There is no Java 1.6 for PowerPC from Apple, meaning that Java comes at a considerable performance penalty on this platform. In addition, we will not be able to support Java versions prior to Java 1.6 at some stage, since that version offers a few features we want to rely on, such as a versatile scripting framework.
You can also install a third party Java 6, part of the OpenJDK project. You will need a working X11 server, that you can find on your OS X disk, and MacPorts.
Execute sudo port install openjdk6 on your Terminal. You can also install the SoyLatte Binaries, as an alternate choice. Then you can proceed with the generic Fiji Installation
Check more info at landonf.bikemonkey.org/static/soylatte/
Accessing the plugins and macros folders
To access the plugins or macros folders, set the Finder window to either icons or lists mode, not in column mode, and double-click them.
Alternatively, right-click (or
) the Fiji.app and select “Show package contents”, to open the folder where the actual plugins and macros folders are.
Adding new plugins and macros
For plugins, please follow the instructions about Installing 3rd party plugins. Otherwise, access the plugins folder as explained above and just drag and drop any plugin into the plugins folder, like you would do for ImageJ. Same for macros.
Installing OpenJDK for MacOSX
Oracle now supports MacOSX JavaSE 7 officially.
If you are experiencing problems, say, with AWT-AppKit related crashes, and if you do not mind working with an X11-based graphical user display, you might want to try OpenJDK.
As of mid-April 2011, OpenJDK for MacOSX has basic working support for Aqua, which you have to activate explicitly by passing the Java option -Dswing.defaultlaf=com.apple.laf.AquaLookAndFeel.
Since the development of OpenJDK for MacOSX is driven exclusively by Apple employees, the minimal MacOSX version required to run OpenJDK/Aqua is 10.6. If you require Fiji to run on earlier versions of MacOSX, you will have to go back to SoyLatte, where you will also find an X11-only OpenJDK version that runs on MacOSX 10.5/PowerPC (MacOSX 10.6+ does not support PowerPC). In the alternative, you can put in a considerable effort to “backport” OpenJDK :-).
Running Fiji in the command line
Often it is necessary to run Fiji in the command line, e.g. to pass some command-line options. To do so, start a Terminal (in the Finder, Go>Utilities), and switch to the correct directory using the cd command. Note that the application itself is actually a directory called Fiji.app. For example, if you installed Fiji into /Applications as recommended, do this:
If you unpacked Fiji onto your desktop, do this:
Once you switched to the correct directory, start the Fiji launcher:
Note for Windows users: A backslash is not the same as a slash. So: Contents\MacOS\ImageJ-macosx will not work.
Now you can pass, say, Java Options:
Contents/MacOS/ImageJ-macosx -verbose:gc --
Note: to distinguish between options intended for Java and options intended for ImageJ, you need to separate the former from the latter with a double-dash: –. Since the default is to accept ImageJ options, you have to pass a trailing double-dash if you want to pass only Java options.
MacOSX keyboard shortcuts
It is often helpful to use keyboard shortcuts when using Fiji. There are also operating system specific shortcuts which can be quite helpful. For example, pressing
and releasing first only the
key will allow you to cycle through the running applications, while
will do the same for the windows opened by the current application. Dave Polaschek has a comprehensive list.