# ImageJ online: can you run it in a browser? (ImageJ.JS, and a faster way)

> Yes: ImageJ.JS runs ImageJ 1.x in your browser via CheerpJ (WebAssembly). What works, what doesn't, Fiji online, iPad and Android, and a faster option.

Published 2026-11-06 by LabCanvas team. https://www.labcanvas.com/blog/imagej-online

![ImageJ 1.x windows as ImageJ.JS shows them in a browser tab, here in ImageJ 1.54f: the menu bar and toolbar, the Threshold window with the Default method and Dark background, a synthetic nuclei image with the nuclei in red, and a Summary table counting 70 nuclei](https://www.labcanvas.com/blog/imagej/imagej-online-cover.webp)

Yes. **ImageJ.JS** runs ImageJ 1.x itself in a web browser, with nothing to install: CheerpJ, a Java virtual machine compiled to WebAssembly, executes ImageJ's own Java code. It is free, made by Wei Ouyang's AICell Lab in Stockholm (it grew out of the ImJoy project) and runs at [ij.aicell.io](https://ij.aicell.io), with the earlier version still at [ij.imjoy.io](https://ij.imjoy.io). It is slower than desktop ImageJ, and full access to your own folders works only in Chrome and Edge. There is no official ImageJ or Fiji app for iPad or Android, and no official Fiji web version.

Below: what ImageJ.JS is and how it works, what works in it and what doesn't, the other ways to reach ImageJ or Fiji from a browser, and tablets. The pictures show ImageJ 1.54f; ImageJ.JS draws the same ImageJ 1.x windows inside the page.

## What ImageJ.JS is

| | ImageJ.JS |
|---|---|
| What runs | ImageJ 1.x, built from ImageJ's source code with a few small patches, plus a set of bundled plugins |
| Made by | The AICell Lab of Wei Ouyang (KTH Royal Institute of Technology and SciLifeLab, Stockholm). It started at a hackathon in Dresden and was developed through the ImJoy project; it was announced in October 2020 |
| Where | [ij.aicell.io](https://ij.aicell.io) (current) and [ij.imjoy.io](https://ij.imjoy.io) (previous version); code at [github.com/aicell-lab/imagej.js](https://github.com/aicell-lab/imagej.js) |
| Runtime | CheerpJ, from Leaning Technologies: a Java virtual machine compiled to WebAssembly |
| Cost | Free to use; ImageJ itself is public domain (see the note on CheerpJ's licence below) |
| Use | 1,000–1,500 people a day, according to the project |

ImageJ.JS is a separate project from ImageJ and Fiji, though the ImageJ website has a page about it.

## How it runs Java in a browser

A browser cannot run Java code by itself. CheerpJ is a whole Java virtual machine compiled to WebAssembly, the compact code format browsers execute: the page loads ImageJ's .jar file into it, and ImageJ's windows are drawn inside the page.

The first ImageJ.JS used CheerpJ 2, which converted ImageJ's Java classes to JavaScript and WebAssembly ahead of time. Its own README lists what that cost: every plugin needed converting too, files had to be uploaded and downloaded by hand, and there was a 4 GB limit. The current version runs on CheerpJ 3 and later (4.2 at the time of writing), which loads .jar files as they are, so plugins are added the way they are on the desktop.

## What works, and what doesn't

| | In ImageJ.JS (current version) |
|---|---|
| Menus, ROI Manager, Analyze Particles, macros | Yes: it is ImageJ 1.x's own code |
| Plugins | The build bundles MorphoLibJ, ThunderSTORM, DeepImageJ and the Bio-Formats package; more can be added as .jar files from a mounted folder or a GitHub repository. Plugins that need native (non-Java) libraries may not work |
| Fiji | Not the Fiji distribution: no Fiji updater and its update sites |
| Speed | Slower than desktop ImageJ: WebAssembly overhead, and it runs on a single thread |
| Large files | The old 4 GB limit is gone for files read from a mounted folder; open images still have to fit in the browser tab's memory |
| Opening and saving files | Chrome and Edge on a computer: mount a local folder and open and save in it directly. Safari and Firefox: drag files in, and files you save come out as browser downloads; a folder kept in browser storage survives between visits |
| Tablets and phones | Runs in the browser; ImageJ's own windows and small menus, made for a mouse, and fewer file features |

One more thing to check if you work in a company: the project's README notes that CheerpJ's free Community edition is for non-commercial use and that commercial use needs a CheerpJ licence. Read the current terms at cheerpj.com before relying on it at work.

### Using it

1. Open [ij.aicell.io](https://ij.aicell.io) in Chrome or Edge and wait for ImageJ to start (the first load downloads the Java runtime and ImageJ).
2. Click **Mount Local Folder** to give it a folder with your images, or drag files onto the page.
3. Work as in desktop ImageJ: **File › Open…**, then **Analyze › Set Scale…**, **Image › Adjust › Threshold…**, **Analyze › Analyze Particles…** and the rest.
4. Save results into the mounted folder; in Safari or Firefox they arrive as downloads.
5. Note the ImageJ version (**Help › About ImageJ…**) for your methods section, as you would on the desktop.

![ImageJ Analyze Particles dialog over thresholded nuclei](https://www.labcanvas.com/blog/imagej/ij-analyze-particles.webp "ImageJ: Analyze › Analyze Particles, with the size range in calibrated units µm², circularity, what to show, and Display results, Summarize, Exclude on edges and Include holes.")

## Other ways to reach ImageJ or Fiji from a browser

- **Fiji on an institutional server.** Many universities and research institutes run Fiji on their computing cluster and let you use it through a remote desktop in the browser, often an Open OnDemand desktop session (NIH's Biowulf, the University of Virginia and the Francis Crick Institute document this, for example). You get the full Fiji with the cluster's memory and processors; you need an account there and a steady connection, and the screen lags a little like any remote desktop.
- **A remote desktop to a lab computer** with Fiji installed works the same way on a smaller scale.
- **ImJoy** ([imjoy.io](https://imjoy.io)) is a browser platform for running image-analysis plugins, published in *Nature Methods* in 2019; ImageJ.JS runs inside it as a plugin, next to plugins written in JavaScript or in Python (the Python ones run on a server or on your own computer).

### "ImageJ JavaScript" can also mean scripting

If you searched for ImageJ JavaScript to write scripts: desktop ImageJ and Fiji can run scripts written in JavaScript (in Fiji, open the Script Editor and choose JavaScript in its **Language** menu). That is a scripting language inside desktop ImageJ, not ImageJ in a browser.

## ImageJ on an iPad or an Android tablet

There is no ImageJ or Fiji app for iPad or Android. The ImageJ FAQ says ImageJ is not yet available as an end-user application on mobile devices, and the ImageJ page on Android explains why: ImageJ 1.x is built on Java's AWT toolkit, which Android does not have. So on a tablet the choices are:

1. **ImageJ.JS in the browser** (Safari on an iPad, Chrome on Android): real ImageJ, with its desktop windows and menus on a touchscreen.
2. **A remote desktop** to Fiji on a server or a lab computer.
3. **A tool written for the browser** rather than desktop software inside a page (one is described at the end of this article).

## Which one to use

| You want | Use |
|---|---|
| Exactly ImageJ 1.x, your own macros or a particular plugin, with nothing installed | ImageJ.JS |
| Fiji with all its update sites, very large data, 3D or deep learning, from any computer | Fiji on an institutional server (or installed on a workstation) |
| The fastest ImageJ, offline, on your own computer | Desktop Fiji or ImageJ ([on Windows](https://www.labcanvas.com/blog/imagej-windows), [on a Mac](https://www.labcanvas.com/blog/imagej-mac)) |

## Pitfalls

- **Assuming "online" means "uploaded".** ImageJ.JS runs in your browser; a site that asks you to upload images to process them on its server is a different thing. Check which kind you are using before you open patient or unpublished data.
- **Measuring a screenshot.** Whatever you use, open the original file from the microscope, not a JPEG or a picture from a slide: compression changes the pixel values. **Image › Type** should say 8-bit or 16-bit for a fluorescence image, not RGB Color.
- **Big stacks on a small device.** A tablet has far less memory than a workstation, and ImageJ.JS works within the browser tab's memory. Crop or open fewer planes, or use Fiji on a server.
- **Version drift.** The ImageJ version in a browser can differ from the one on your desktop; write down the one you measured with.

## Reporting it

Name the software, its version and how you ran it, for example:

> Images were analysed with ImageJ [version] (Schneider et al., 2012) running in the browser as ImageJ.JS (ij.aicell.io).

Give the settings you used (threshold method, size range, pixel size) as you would for desktop ImageJ. To compare more tools, see the [best ImageJ alternatives](https://www.labcanvas.com/blog/imagej-alternatives).

## A faster way: LabCanvas Image Analysis, built for the browser

ImageJ.JS is desktop software running inside a page. [LabCanvas Image Analysis](https://www.labcanvas.com/analysis.html) was written for the browser: no Java or virtual machine to download, heavy steps in background threads so the page stays responsive, and a layout that works with a finger or an Apple Pencil on an iPad. It measures with ImageJ's definitions and under the names you know.

1. Open [Image Analysis](https://www.labcanvas.com/analysis.html) and sign in (a free LabCanvas account).
2. Click the nuclei sample on the start screen, or open your own TIFF (on an iPad, from the Files app).
3. In **Count › Count particles**, click **Find nuclei** (Otsu, fill holes, watershed and a minimum size in one click), or set the threshold yourself and click **Count**.
4. Read the Summary row, and click **Send to Graphs** to compare conditions.

:::grid
![Image Analysis on an iPad-sized touch screen in LabCanvas Image Analysis](https://www.labcanvas.com/analysis-examples/ipad.webp "Image Analysis on an iPad-sized touch screen: The Nuclei sample on an iPad-sized touch screen 1080 × 810, landscape, counted with a tap on Find nuclei: 70 nuclei, mean area 40.47 µm².")
![Counting nuclei in LabCanvas Image Analysis](https://www.labcanvas.com/analysis-examples/nuclei.webp "Counting nuclei: 70 nuclei counted Otsu threshold, watershed to split touching ones: mean area 40.47 µm², 10.2% of the field.")
![Image check in LabCanvas Image Analysis](https://www.labcanvas.com/analysis-examples/check.webp "Image check: All fine: nothing clipped brightest value 3,688, even illumination the background varies by 1.06×, sharpest at slice 8 of 15.")
:::

On the same nuclei sample, ImageJ counts 70 nuclei (average 40.156 µm² with the Default threshold, 40.394 µm² with Otsu); LabCanvas counts 70, mean area 40.47 µm², 10.2% of the field.

Why it is a good choice in a browser:

- **Nothing to install**: it opens like any web page on a laptop or tablet, and **Add to Home Screen** gives it an app icon.
- **ImageJ's commands and columns**: ROI list, Measure, Set measurements, Count particles, sixteen threshold methods, rolling-ball background; it opens .roi files and RoiSet.zip.
- **Guided assays instead of plugins**, and **an image check** that flags clipping, JPEG compression and uneven light before you measure.
- **Your images stay with you**: they are measured inside the browser tab, not sent to a server.
- **Free with a LabCanvas account**; downloading files (CSV, TIFF, PNG) is part of LabCanvas Pro. Every measurement is checked in [more than 4,000 automated tests](https://www.labcanvas.com/image-analysis-validation).

What it does not do: no macros or plugins, no 3D object analysis or deep-learning segmentation, no .czi, .nd2 or .lif files (export OME-TIFF first) and no DICOM, and very large datasets are limited by the browser's memory. For those, use ImageJ.JS or Fiji. ImageJ and Fiji are independent open-source projects; LabCanvas is not affiliated with them.

## References

- Schneider CA, Rasband WS, Eliceiri KW (2012). NIH Image to ImageJ: 25 years of image analysis. *Nature Methods* 9(7): 671–675. [doi:10.1038/nmeth.2089](https://doi.org/10.1038/nmeth.2089)
- Schindelin J, Arganda-Carreras I, Frise E, et al. (2012). Fiji: an open-source platform for biological-image analysis. *Nature Methods* 9(7): 676–682. [doi:10.1038/nmeth.2019](https://doi.org/10.1038/nmeth.2019)
- Ouyang W, Mueller F, Hjelmare M, Lundberg E, Zimmer C (2019). ImJoy: an open-source computational platform for the deep learning era. *Nature Methods* 16(12): 1199–1200. [doi:10.1038/s41592-019-0627-0](https://doi.org/10.1038/s41592-019-0627-0)
- ImageJ.JS source code and documentation: [github.com/aicell-lab/imagej.js](https://github.com/aicell-lab/imagej.js)

## Frequently asked questions

### Can I use ImageJ online without installing anything?

Yes. ImageJ.JS (ij.aicell.io) runs ImageJ 1.x in the browser through CheerpJ, a Java virtual machine compiled to WebAssembly, so there is no Java or ImageJ to install. It is slower than desktop ImageJ, and opening and saving straight from your own folders works only in Chrome and Edge on a computer.

### Is there an ImageJ app for iPad or Android?

No. The ImageJ FAQ says ImageJ is not yet available as an end-user application on mobile devices, and its Android page explains that ImageJ 1.x relies on Java AWT, which Android does not have. On a tablet you can open ImageJ.JS in the browser or use a remote desktop to Fiji.

### Is ImageJ.JS the real ImageJ?

It runs ImageJ 1.x's own Java code, built from ImageJ's source with a few small patches, so menus, macros and results follow ImageJ. It is not the full Fiji distribution: plugins come bundled or are added as .jar files, and plugins that need native libraries may not run.

### Is there a Fiji online version?

There is no official web version of Fiji. Many universities and institutes run Fiji on a cluster that you use through a remote desktop in the browser (often an Open OnDemand desktop session); that is the full Fiji, but it needs an account there and a good connection.

### Are my images uploaded when I use ImageJ in a browser?

No. ImageJ.JS runs in your browser tab, and files from a mounted folder are read on your computer. A site that asks you to upload images to process them on its server is a different thing. Check your institution's rules for sensitive images either way.

### What does "ImageJ JavaScript" mean?

Two different things. ImageJ.JS is ImageJ running in a web browser. Separately, desktop ImageJ and Fiji can run scripts written in JavaScript (Fiji's Script Editor has it in its Language menu); those scripts run inside desktop ImageJ, not in a browser.

## Related links

- [Best ImageJ alternatives in 2026](https://www.labcanvas.com/blog/imagej-alternatives): Free, online and desktop tools compared
- [How to use ImageJ](https://www.labcanvas.com/blog/how-to-use-imagej): A beginner's tutorial for the everyday jobs
- [Fiji vs ImageJ](https://www.labcanvas.com/blog/fiji-vs-imagej): What the difference is, and which to download
- [ImageJ on Windows](https://www.labcanvas.com/blog/imagej-windows): Install Fiji on a PC instead
- [Image Analysis: every tool and setting](https://www.labcanvas.com/blog/image-analysis-complete-guide): The browser option at the end of this article
