Tool for OPerations on Catalogues And Tables

Does what you want with tables

Latest (see Version History for details)

Version 4.6-1 released 18 May 2018
New: Activation Window improvements
Save activation state, new actions Download URL and Plot Table, multi-row activation.
Activation window, OSX Java 10 plot failure, TAP large file download.
Version 4.6 released 24 April 2018
New: Activation Action overhaul
The Activation Window has been completely rewritten; it's now more flexible, configurable, informative, and extensible. New activation actions include Load Table, Send VOTable, Run System Command and DataLink-specific ones; more to come in future.
New: DataLink functionality
Several items to support the DataLink standard: new DataLink Window, activation actions Invoke Service, Invoke Datalink Row and View Datalink Table, and Service Descriptors visible as table parameters.
New: Gaia DR2-friendly astrometry functions
New expression language function class Gaia contains functions for estimating distance from parallax and propagating astrometry (positions, errors, correlations) between epochs.
New: Aggregation and weighting plot improvements
Contour, Histogram and KDE plots can now display combined quantities per bin (sum, median, mean etc). SkyDensity and HEALPix plot combined quantities can now be labelled per solid angle unit (deg-2, arcmin-2 etc).

* What is TOPCAT?

TOPCAT is an interactive graphical viewer and editor for tabular data. Its aim is to provide most of the facilities that astronomers need for analysis and manipulation of source catalogues and other tables, though it can be used for non-astronomical data as well. It understands a number of different astronomically important formats (including FITS, VOTable and CDF) and more formats can be added.

It offers a variety of ways to view and analyse tables, including a browser for the cell data themselves, viewers for information about table and column metadata, and facilities for sophisticated interactive 1-, 2-, 3- and higher-dimensional visualisation, calculating statistics and joining tables using flexible matching algorithms. Using a powerful and extensible Java-based expression language new columns can be defined and row subsets selected for separate analysis. Table data and metadata can be edited and the resulting modified table can be written out in a wide range of output formats.

It is a stand-alone application which works quite happily with no network connection. However, because it uses Virtual Observatory (VO) standards, it can cooperate smoothly with other tools, services and datasets in the VO world and beyond.

The program is written in pure Java and available under the GNU General Public Licence, though some of the library code is LGPL. It has been developed mostly in the UK within various UK and Euro-VO projects (Starlink, AstroGrid, VOTech, AIDA, GAVO, GENIUS, DPAC) and under PPARC and STFC grants. Its underlying table processing facilities are provided by the related packages STIL and STILTS.

* Features

The following is a list of the program's main capabilities. The hyperlinks are to the relevant parts of the user document.

Supported table input formats include:

and supported output formats include:

* Documentation

Full tutorial and reference documentation for TOPCAT is provided by SUN/253, the user document. This is available within the program at runtime via the context-sensitive and searchable help system, or in the following forms within the distribution or on the web:

* Frequently Asked Questions

A list of frequently asked questions is available. If you want to suggest additional questions and/or answers, please get in touch.

* Mailing Lists

Two mailing lists are in use for TOPCAT and related software:

See the mailing list page for more information.

If you have queries or support enquiries you are encouraged to send them to topcat-user. However, I can still answer mail directly to me if you prefer that.

* Screenshots

You can see screenshots of TOPCAT in action in the following places:

* Downloads

TOPCAT is written in the Java language using the Java 2 Standard Edition version 6, and should run on any Java SE 6 or more recent system. This means it can be run on a wide range of platforms, without requiring any recompilation - you just need to ensure that you have a suitable Java Runtime Environment (JRE). If you don't have Java installed, or have an unsuitable version, you can obtain the Java SE for Linux, Mac OS X, MS Windows and Solaris from Oracle's web site (you only need the "JRE" rather than the "JDK" download, unless you will be doing development work). Java SE Runtime Enviroments (sometimes called JVMs or Java Virtual Machines) for other platforms may be available from operating system vendors.

Having got Java, There are several ways to download TOPCAT, described in rough order of advisability in the following subsections. More information on how to run the program having obtained it can be found in SUN/253's section on Invoking TOPCAT.

Standalone Jar File

The most convenient form for downloading is to pick up a single Jar file containing the required classes:

(Note: if you try to download these directly your browser may say something about a failed security check. Make sure that you save it to a file, for instance by right-clicking in Firefox).

On Unix-like operating systems, download one or other of these jar files and the startup script topcat into the same directory, then "chmod +x topcat", and you can just run the command:

On non-Unix systems the script won't work, and you can use a command like:
   java -jar topcat-*.jar
or invoke it in some other system-dependent way such as by clicking on it.

For many users, topcat-lite will provide all the features they need. The optional extras provided by topcat-full include:

Even topcat-full lacks a few of the niche features (proper coordinate handling in SoG, NDF viewing in hierachy view), since these require native libraries; for these you will need the Full Starjava installation described below.


WebStart is a Java technology which enables one-click download, installation, updating and invocation of Java applications over the web. If you have Java's WebStart installed, you can install and invoke TOPCAT in one click from one of the following links:

See the comments in the previous item for the difference between topcat-lite and topcat-full.

When it works well, WebStart can make download and running very easy. Sometimes however it seems to cause trouble that is difficult to diagnose, so the standalone jar file is generally recommended instead.


If you have an Apple Mac, you can pick up the following for easy installation:

topcat-full.dmg (32.9M)
A couple of FAQ entries are relevant: how to set flags for memory usage etc and problem with "damaged" dmg file.

Full Starjava Installation

If you want the most comprehensive installation then download and unpack the full starjava tree in one of the following forms:

These archives include related applications such as SPLAT, SoG and Treeview. You can run TOPCAT using the starjava/bin/topcat script (Unix) or by running java -jar starjava/lib/topcat/topcat.jar.

Note that TOPCAT is also packaged as part of the Debian Astro bundle - see the FAQ.

* Version History

The most recent public release of TOPCAT is version 4.6-1, released 18 May 2018.

For a detailed history of the changes in this and previous releases, see the

Full Version History
section of SUN/253.

* Further Information

TOPCAT's sister package is STILTS, the STIL Tool Set. STILTS offers many of the same facilities as TOPCAT (and some additional ones) in the form of command-line tools, which can be invoked from the Unix/DOS command-line prompt, or from Jython.
Other Resources relating to the code
Examples and Tutorials
The most up-to-date tutorial (2016) shows TOPCAT with examples using Gaia-DR1 data: Some older tutorials are available too: And some more general items may also be helpful:

TOPCAT is currently (2018) under active development, and I'm very open to user feedback. Any comments, questions, requests, bugs etc, please either post to the topcat-user list or contact me direct: