Astronomical image display,
everywhere.

JS9 brings DS9-class FITS viewing and analysis to the browser — powered by WebAssembly, running client-side, with no server required.

A full JS9 editor — drag on the image, create a region, change the colormap. This one was built with a single <div class="JS9Editor">.

Add it to your page

<link rel="stylesheet" href="js9-allinone.css">
<script src="js9-allinone.js"></script>

<div id="viewer"></div>
<script>
  JS9.create("viewer", { image: "myimage.fits.gz", opts: { colormap: "viridis" } });
</script>

That's the whole thing. See the Getting Started guide for installation (CDN / npm / self-host) and layout options.

What it does

FITS in the browser

Display FITS images, tables, data cubes, and multi-extension files — drag & drop, PNG/JPEG too.

Client-side engine

CFITSIO + WCS compiled to WebAssembly do FITS I/O, coordinates, and image processing at near-native speed — no server.

Regions

Create, edit, import, and export regions of interest, and drive analysis from them.

Analysis

Colormaps, scaling, pan/zoom, image arithmetic, smoothing, blending, radial profiles, histograms — local, with optional server-side tasks.

Extensible

Build your own UI with the public API and plugins; script it from the shell or Python.

Runs anywhere

macOS, Linux, Windows, iPads, and iPhones — and as a desktop app.

Get Started