Regina: Software for low-dimensional topology

Latest version: 5.1 (December 2016)
Updated packages: 30 August 2019
Updated data: 31 May 2018

ContentsPython / C++
What does Regina do?
What's new in version 5.1?
Announcement mailing list
License and citation
Moving from Regina 4.x to 5.x
Preparing for Regina 6.x
Other pages
Supporting data and articles
Building from source
GitHub repository
Past important bugs
Troubleshooting and FAQ


30 August 2019: Packages are now available for Debian 10.x, Fedora 30, openSUSE Leap 15.1, and Ubuntu 19.04.
From the next release (5.2), there will be no more Mageia packages. If you use Mageia and would like assistance, please drop Ben an email.

31 May 2018: The knot tables are now live! You can download all 352,152,252 prime non-trivial knots with up to 19 crossings from Regina's data page.

21 December 2016: Regina 5.1 is out! This comes with a major overhaul for Python and C++ users. This follows version 5.0 from September, which added 4-manifolds, normal hypersurfaces, tree decompositions and more. Packages are available for MacOS, Windows and GNU/Linux, and there are also customised versions of Regina for the iPad and Sage. You can read more about what's new, or go ahead and download the new version.

15 November 2016: Regina has moved! It now lives at Please update your bookmarks accordingly.

17 October 2016: Mac users can now get Regina from the Mac App Store (for free, of course). There are minor differences between the App Store version and the direct download; see the download section for details.

(Back to contents...)

What is Regina?

Regina is a software package for 3-manifold and 4-manifold topologists, with a focus on triangulations, normal surfaces and angle structures.

For 3-manifolds, it includes high-level tasks such as 3-sphere recognition, connected sum decomposition and Hakenness testing, comes with a rich database of census manifolds, and incorporates the SnapPea kernel for working with hyperbolic manifolds. For 4-manifolds, it offers a range of combinatorial and algebraic tools, plus support for normal hypersurfaces.

Regina comes with a full graphical user interface, as well as Python bindings and a low-level C++ programming interface.

See the users' handbook for a detailed list of features.

(Back to contents...)


Click on each thumbnail below for a full-sized version of the screenshot.

Screenshot thumbnail Screenshot thumbnail Screenshot thumbnail
Studying 3-manifold
Normal surfaces and
angle structures
In-built Python

(Back to contents...)


The following downloads are available:

Source code

If you encounter any problems when you run Regina, you can check the troubleshooting page to see if your problem is discussed there. You also most welcome to contact us for help.


You have two options for Mac: either download direct from this website, or from the Mac App Store. If you're not sure, then try using the Mac App Store.

MacOS VersionDirect Download Mac App Store
Mojave (10.14)
High Sierra (10.13)
Sierra (10.12)
El Capitan (10.11)
Yosemite (10.10)
Mavericks (10.09)
Download from the
Regina website
Download on the Mac App Store

There are some minor differences between the two versions. The Mac App Store version:

Sandboxing is a security measure that comes with the Mac App Store: it ensures that apps only access files that users themselves choose through the MacOS graphical file dialogs (Open, Save, etc.). For Regina, this means that when you open a Python console through the graphical user interface, you cannot access arbitrary files using Python commands. If this causes you difficulties, then remember:


Regina on Windows uses a standard point-and-click installer.

Windows VersionInstaller
Windows 10
Windows 8
Windows 7

Notes for Windows:


You can download ready-made packages for several GNU/Linux distributions. All of these packages are named regina-normal (to avoid conflicting with the other Regina). Please click on the Download link for your system in the table below.

To keep the installation simple, most packages do not include the MPI (high-performance computing) utilities. If you need these, let Ben know and he can build you an MPI-enabled package.

Distribution Version 32-bit package (i386 or i586) 64-bit package (amd64 or x86_64)
Debian 10.x (buster) Install Install
9.x (stretch) Install Install
8.x (jessie) Install Install
unstable (sid) Install Install
Fedora 30 n/a Download
29 n/a Download
28 n/a Download
27 n/a Download
26 n/a Download
25 Download Download
24 Download Download
Mageia 5 Download Download
openSUSE Leap 15.1 n/a Download
Read first
Leap 15.0 n/a Download
Read first
Leap 42.3 n/a Download
Leap 42.2 n/a Download
Leap 42.1 n/a Download
Ubuntu 19.04 (disco) n/a Install
18.10 (cosmic) n/a Install
18.04 LTS (bionic) n/a Install
17.10 (artful) n/a Install
17.04 (zesty) Install Install
16.10 (yakkety) Install Install
16.04 LTS (xenial) Install Install

For older versions of GNU/Linux:

For newer versions of GNU/Linux:

For other GNU/Linux distributions:


The iPad app offers most of Regina's functionality (now including Python scripting!), but not all. For example, the iPad version does not support some of the more exotic import/export formats, and some mathematical functions are only accessible through Python (such as isomorphism testing, or manifolds of dimension ≥ 5). If you need these features then please download one of the desktop versions listed above.

iOS VersionInstaller
iOS 8 and above Download on the App Store


Matthias Goerner has kindly prepared Sage packages for Regina. These offer a Python-only interface to Regina's mathematical engine—they do not include Regina's graphical user interface or command-line tools. If you need these features then please download one of the desktop versions listed above.

Sage VersionInstaller
Any Instructions

Of course, whilst the packages are written to work with any modern version of Sage, your experiences might vary (particular with an older Sage and/or operating system). Follow the instructions link above for details.

Source code

For other systems not listed above, you will need to build Regina from its source code.

You can download the source code here.

Please see the separate page on building Regina for instructions on how to build Regina and what libraries and tools you will need to have installed.

(Back to contents...)


Regina comes with rich documentation for both users and developers.

Users' Handbook

The Regina Handbook is full of screenshots, and walks you through the different things that Regina can do.

You can read the handbook from within Regina by selecting Help → Regina Handbook from the menu. You can also read it here online.

Python/C++ API Documentation

If you are doing Python scripting or C++ programming with Regina, there is extensive API documentation for Regina's mathematical engine. This describes the various objects, classes and functions that Regina makes available to you.

You can read the API documentation by selecting Help → Python API Reference from the menu. You can also read it here online.

(Back to contents...)

What's new in version 5.1?

Regina has just had two major releases in quick succession:

Version 5.1 (December 2016)

Version 5.1 is a major overhaul for Python and C++ users. There are also enhancements to the mathematics and the user interface, but these are relatively minor (and are not listed here).

Python and C++

Version 5.0 (September 2016)

Version 5.0 came out in September—if you missed it, this was a big release:


Python and C++


(Back to contents...)

Announcement Mailing List

You are welcome to subscribe to the announcement list (this list is still hosted on SourceForge, and will transition at a later date). This is a moderated list with extremely low traffic, and is only used for major announcements such as new releases of Regina. You can subscribe or unsubscribe here.

(Back to contents...)

License and Citation

The primary developers of Regina are Benjamin Burton, Ryan Budney, and William Pettersson.

Many others have been of assistance with this project, be it through time, knowledge, testing or code. Please see the full list of acknowledgements in the users' handbook.


If you find Regina useful in your research, please consider citing it as you would any other paper that you use. A suggested form of reference is:
Benjamin A. Burton, Ryan Budney, William Pettersson, et al.,
Regina: Software for low-dimensional topology,, 1999–2017.
Or, in BibTeX:
    author = {Benjamin A. Burton and Ryan Budney and William Pettersson and others},
    title = {Regina: Software for low-dimensional topology},
    howpublished = {{\tt http://\allowbreak regina-normal.\allowbreak github.\allowbreak io/}},
    year = {1999--2017}}

Copying & modification

Regina is copyright © 1999–2016, The Regina development team.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Some of this code comes with additional permissions, which allow it to be distributed through online repositories such as Apple's App Store or Google Play. See the full license in the users' handbook for details.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

Detailed License

Regina includes portions of external software for specialised tasks (such as code from SnapPea and SnapPy for some geometric calculations, and code from Normaliz for computing Hilbert bases).

For complete license details, including the full GNU General Public License and information on external software that Regina uses, see the full license in the users' handbook.

(Back to contents...)


If you have any suggestions, problems, bugs, wishes, frustrations or otherwise miscellaneous comments, we would really love to hear them. This program is permanently under development and we would like to know what people want out of it.

If you have written your own extensions that you think could be worth putting in the main release, please do write and let us know.

Even if you have no comments to make, it's always nice to hear from people using Regina, even if it's just to say hi. We're always interested to hear how this software is being used.

You can contact us by email: our websites are linked to our names in the author list above.

(Back to contents...)