Celestia: a GPL planetarium for real-time 3D space simulation
Real-time 3D visualization of space.
At a glance
- What is it?
- Celestia renders the solar system and nearby stars in real time from text catalogs you can edit. It is a desktop tool for teaching and tinkering, not a photorealistic renderer, and its last push was on 2026-09-26.
- Who is it for?
- Adopt Celestia if you want a free, scriptable planetarium you can extend with plain-text catalogs, and if you are comfortable building C++ from source when no package exists for your platform. Skip it if you need photorealistic volumetric rendering, VR, or a maintained binary for every OS; the latest release listed is 1.6.4 from 2023-11-04.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Celestia actually is, and who it is built for
Celestia is a real-time space simulation that lets you experience our universe in three dimensions, according to the README. It starts in a window showing Earth in front of a field of stars, with on-screen readouts for your target, your speed, and the current time in Universal Time. That framing tells you the intended audience: someone who wants to move through a model of the solar system and the nearby galaxy interactively, not someone who wants a rendered film.
The project is written in C++ and licensed GPL-2.0, with OpenGL and OpenGL-ES among its listed topics, which is consistent with a desktop application that has been shipping since 2001. The README points to a user guide, a Wikibook, forums, and a subreddit, so the documentation surface is spread across several places rather than living in one manual. If you are teaching an astronomy unit and want students to fly from Earth to a star and back, the Tour Guide window is the obvious entry point: it lists interesting objects, and a Goto button moves you there.
It is not aimed at people who want a game, and the README does not describe any gameplay, scoring, or narrative. The value proposition is a navigable, editable model of space.
How the simulation is driven: catalogs, cameras and selection
The mechanism visible in the README is a text-catalog system layered over a 3D renderer. Three file types define what exists in the world: ssc for solar system catalogs covering planets, moons and spacecraft, stc for star catalogs, and dsc for deep sky catalogs covering galaxies, star clusters and nebulae. All three are plain text and can be edited with any text editor. The README explicitly says it is not recommended to alter the built-in data files, because nearly all desired modifications and additions can be made by placing new catalog files in Celestia's extras folders. That is the extension model: you add, you do not patch.
Camera control is direct manipulation. Right-dragging orbits the current target; left-dragging rotates the camera about its own center rather than around the object; the mouse wheel changes distance, and Home and End substitute when there is no wheel. Selection can happen by clicking an object, by choosing Select Object from the Navigation menu, or by pressing Enter and typing a name. Stars can be addressed by common name, Bayer designation, or catalog number, and the README states that Celestia currently supports the HIP, HD and SAO catalogs, with a space required between the prefix and the number.
Two browser windows provide structured access. The Star Browser shows a table of the 100 nearest stars with distance, apparent and absolute magnitude, and type; column headers sort the table, and radio buttons switch between Nearest, Brightest, and With planets. The table is not continuously updated, so after traveling you press Refresh to re-center it on your new position. The Solar System Browser shows a tree view of all objects in the nearest solar system, provided one is within a light year of your current position. That one-light-year condition is a real boundary: the browser silently has nothing to show when you are between systems.
Installing Celestia and taking a first real tour
The README does not contain installation commands. It points to the project website for releases, and the repository carries an INSTALL.md file plus a CMakeLists.txt at the top level, which is where build instructions live. Start there rather than guessing at flags.
If a package exists for your distribution, that is the shortest path and the one the README's release badge links toward. The repository also contains a debian/ directory, which indicates Debian packaging material is maintained in-tree. Check your distribution's package index before building.
When you build from source, the entry point is CMake. The exact options are documented in INSTALL.md, so treat the following as the shape of the workflow rather than a complete recipe:
git clone https://github.com/CelestiaProject/Celestia.git
cd Celestia
cmake -B build
cmake --build buildThe top-level CMakeLists.txt and the cmake/ directory define what the build produces. Read INSTALL.md for the dependencies your platform needs, because a 3D renderer with OpenGL and OpenGL-ES topics will have graphics and windowing requirements that vary by system.
Once running, the README describes the intended first experience: you should see Earth in front of a field of stars, with target, speed and Universal Time displayed. Press H to select the Sun, then G to travel to it. Right-click the Sun to bring up a menu of planets and other objects, select one, and press G again to move toward it. Hold the right mouse button and drag to orbit the planet once you arrive. To change startup behavior, open start.cel in a plain text editor and follow the in-file instructions; celestia.cfg is the other file the README names for additional settings.
Where Celestia falls short, and when it is the wrong tool
The Star Browser's table is not continuously updated, and the README is explicit that you must press Refresh after moving. For a live view of the sky from your current position, that is a manual step, not an automatic one. It is a small thing, but it reveals the design: the simulation is stateful and positional, and some views are snapshots rather than live queries.
The Solar System Browser only populates when a solar system is within a light year. Travel far enough and the tree view is empty. That is physically reasonable and still a limitation if you expect the browser to always show something useful.
The README's known-issues section does not enumerate problems. It directs readers to the FAQ in the Help menu and to a user FAQ on the forum. So failure modes are documented out of band, on a forum, which means searching a discussion thread rather than reading a maintained list. If you are evaluating Celestia for a classroom where you cannot debug on the spot, that is worth weighing.
Finally, the README does not document rollback, version pinning, or a downgrade path. If a new build breaks your setup, there is no stated procedure for returning to a previous state. That absence matters more for anyone deploying Celestia across many machines than for a single user experimenting at home.
Celestia versus SpaceEngine: two different bets on realism
The comparison people search for is celestia vs space engine, and the documentation supports a clear distinction. Celestia's model is catalog-driven: the objects you see come from ssc, stc and dsc text files that you can write yourself, including hypothetical or fictional objects, which the README names as an intended use. The README also states that Celestia currently supports the HIP, HD and SAO star catalogs. That is a bounded, inspectable dataset with a documented extension format.
A procedural renderer makes the opposite bet: it generates worlds rather than reading a catalog, which lets it show places no catalog lists, at the cost of the direct correspondence between a file on disk and an object on screen. If your goal is to teach what is actually cataloged, Celestia's approach is the more honest one, because a student can open the file that defines what they are looking at. If your goal is to wander through unfamiliar terrain, catalog-driven rendering is the wrong model entirely.
The same logic applies to scripted tours. Celestia ships demo.cel and guide.cel at the repository root, alongside start.cel, which means the startup and tour behavior is expressed in editable text rather than locked in a binary. That is the trade Celestia makes: less procedural wonder, more direct control over a known dataset.
Maintenance, licensing and the cost of upgrading
The repository is not archived, and the last push was on 2026-09-26, so the codebase is receiving changes. That said, the release list is a separate signal: the most recent release shown is 1.6.4 from 2023-11-04, preceded by 1.6.3 in April 2023 and 1.6.2.2 in January 2021. Commit activity and tagged releases are not moving at the same tempo, so if you depend on packaged versions rather than building from master, plan around a slower release cadence.
Upgrade cost depends on how you deploy. Users who build from source track master and absorb changes as they come; the top-level .clang-format and coding-standards.html suggest the project expects contributors to follow a defined style, but that does not tell you anything about API stability for catalog authors. The catalog formats are the interface most users touch, and the README presents them as stable text formats rather than versioned schemas.
On licensing: Celestia is GPL-2.0, and the README states the program is distributed without any warranty. The GPL is a copyleft licence, so if you redistribute Celestia or a modified version, the licence terms travel with it. The README also notes that the licence text should be present in the file named COPYING. This is a description of what the project states, not legal advice; check the COPYING file and your own obligations before redistributing a modified build.
Editorial conclusion
Adopt Celestia if you want a free, scriptable planetarium you can extend with plain-text catalogs, and if you are comfortable building C++ from source when no package exists for your platform. Skip it if you need photorealistic volumetric rendering, VR, or a maintained binary for every OS; the latest release listed is 1.6.4 from 2023-11-04. Before committing, check INSTALL.md for your platform, confirm whether your distribution ships a Celestia package, and read celestia.cfg.in to see which settings are exposed without a rebuild.
Frequently asked questions
How do I install Celestia?
The README does not give install commands. It links to the project website for releases, and the repository contains INSTALL.md plus a top-level CMakeLists.txt for building from source. Check whether your distribution packages Celestia before compiling.
How do I install Celestia addons?
The README's model is to place new catalog files in Celestia's extras folders rather than altering the built-in data files. Addons take the form of ssc, stc or dsc text files, and the README states that nearly all desired modifications and additions can be made this way.
Is Celestia a legitimate project?
It is a GPL-2.0 licensed program with copyright attributed to the Celestia Development Team from 2001 to 2023, hosted at CelestiaProject/Celestia. The repository is not archived and the last push was on 2026-09-26.
What is Celestia?
It is a real-time space simulation that lets you experience the universe in three dimensions, written in C++, according to the README. It starts with Earth in front of a field of stars and shows your target, speed and Universal Time on screen.
How does Celestia compare to SpaceEngine?
Celestia is catalog-driven: objects come from ssc, stc and dsc text files you can edit, and the README states it currently supports the HIP, HD and SAO star catalogs. That is a different approach from a procedural renderer that generates worlds instead of reading them from files.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/celestiaproject-celestia)