Open-source project
visit-dav/visit avatar
visit-dav/visit

VisIt is the mesh visualization stack behind a lot of HPC post-processing

VisIt - Visualization and Data Analysis for Mesh-based Scientific Data

537 stars140 forksCBSD-3-Clause

At a glance

What is it?
VisIt is a scientific visualization and data analysis application for mesh-based data, developed as a source repository with a develop branch, nightly test dashboards, an archived email support history and a BSD-3 licence at a national laboratory.
Who is it for?
VisIt fits a research group that works with mesh-based simulation output, needs a viewer that handles large meshes and works in parallel, and wants the option of scripting the analysis through its Python interface rather than driving a GUI. It is the wrong tool for a quick plot of a CSV file, and it is the wrong tool if you need a supported product with a contract attached, because the project publishes source rather than binaries and its release history is irregular.
Can I use it commercially?
Yes. BSD-3-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A source repository for a mesh visualization application

VisIt is the source code repository for the VisIt Scientific Visualization and Data Analysis Application, and the description is explicit about the domain: visualization and data analysis for mesh-based scientific data. That word, mesh-based, is the one that defines the project. It is not a general data visualisation library and not a plotting package. It exists for the unstructured and structured grids that come out of finite element, finite volume and similar simulation codes, where the data is large, where the geometry and the fields have to be seen together, and where the questions are about how a field varies across a surface or inside a volume rather than about a table of rows.

The primary language of the repository is C, which fits the domain, since the hard part of this kind of tool is moving large field data between files, meshes and the screen, and that is work in systems languages. The repository topics also list high performance computing, scientific computing, data analysis, and a Python interface, which tells you the scripting path exists alongside the graphical one.

The homepage is visit.llnl.gov and the project website sits at visit-dav.github.io, which is where the dashboards and the website live rather than in the source tree.

The default branch is develop, and the releases are irregular

The repository's default branch is develop, not master, and the release tags tell you what that means in practice. The most recent release is v3.5.0, published on 2026-04-29. Before that there is v3.4.2 from 2024-12-20 and v3.3.0d from 2025-02-05, where the trailing d marks it as a minor documentation update to v3.3.0 rather than a new feature release.

The order of those two tags is worth pausing on. The v3.3.0 documentation build is dated after the v3.4.2 release, which means the release line was not simply moving forward in tag date order, and a consumer pinning a version cannot assume that a higher number is a later build in every sense. It is a project with a long life and a release cadence that reflects the scientific software world, where a version is a large, expensive thing rather than a weekly publish.

For that reason, building from the develop branch is the normal way to work with it, and the documentation that is published for users is itself built from that branch, as the readthedocs badge and the links show. The last push to the repository was on 2026-10-19, and the repository is not archived, so the work is current even where the tags are not.

The user manual is published from the same tree

The documentation links point at a Sphinx-built user manual hosted on readthedocs, and the version selector is set to develop, which is the same branch name the repository uses. That is an unusual and useful arrangement: the manual a user reads is built from the same source tree as the code, so the documentation for a given build of the application is the documentation that goes with it.

The project website is linked alongside the manual, and it hosts a nightly test status dashboard, which is the part that tells you something about how the project is run rather than what it contains. A nightly dashboard implies that the test suite runs on every change, continuously, and that the results are visible to whoever wants to look.

The repository also carries a docs directory and a .readthedocs.yaml configuration, so the documentation pipeline is part of the source tree and is versioned with it. The result is a project where the manual, the code and the test results are all artefacts of the same repository, which is a reasonable model for scientific software where a result has to be reproducible months later.

Support moved from mailing lists to GitHub discussions

The help section shows a project in the middle of a support transition, and the structure is informative.

There is a summary page in the user manual, and then three GitHub discussion categories: help using VisIt, help building VisIt, and help developing VisIt. Splitting support by audience is a small thing that says a lot, because building the project and using it are different problems with different expertise, and a single forum conflates them.

Behind the discussions sit the old email archives, a user archive and a developer archive, kept because the history matters. A question asked in 2013 and answered by a maintainer is often still the clearest answer, and for a project of this age the archive is a large part of the usable knowledge. Keeping it addressable rather than deleting it is the right call.

The developer resources list follows the same logic. There is a GitHub development page in the developer manual, a query for newly submitted issues that are still unreviewed, a query for open discussions with no maintainer response, and a query for unanswered discussions marked for support and reliability engineering. Those filtered links are a way of making the maintenance queue visible to anyone who wants to help.

The repository layout is a build system, not just sources

The top-level entries show how much of this repository is infrastructure. There is a src directory for the code, a test directory, a data directory, a docs directory and a scripts directory. Alongside them sit an azure-pipelines.yml, which is the continuous integration definition, a .gitmodules file for the submodules the build depends on, a hashes.txt, a CITATION.cff for citation metadata, a SECURITY.md, a CONTRIBUTING.md, a LICENSE, a NOTICE and a .readthedocs.yaml.

Two of those files are worth knowing about. CITATION.cff exists so that a paper or a report can cite the software properly, which is a small piece of metadata with a real effect on how a piece of research software gets referenced. And SECURITY.md tells you where to report a vulnerability, which matters more for an application that processes untrusted input files.

The hashes file alongside a source distribution is a supply chain signal, and combined with the NOTICE file it fits the pattern of a project that has to be traceable. This is software that runs on machines analysing weapons and energy research, and the paperwork around it is deliberate rather than incidental.

BSD-3 licensing, with a laboratory code attached

VisIt is distributed under the terms of the BSD-3 License, and the README states that all new contributions must be made under the same licence. The LICENSE file holds the terms and the NOTICE file holds the required notices, and both are at the root of the repository.

The licence is permissive in the way the scientific software community tends to prefer, which is not an accident. Code that a national laboratory develops under a three clause BSD licence is straightforward to incorporate into commercial and academic tools, which is a deliberate choice for software whose ecosystem is wider than the laboratory itself.

The LLNL-CODE-793424 identifier on the README is the standard code that ties this work to the Lawrence Livermore National Laboratory, and it is the marker to look for when you need to establish the provenance of a build. For anyone redistributing the code or a derivative, the notice obligations in the LICENSE and NOTICE files are the part to read carefully, and the practical advice is to keep both files intact in any distribution, which the project asks for by stating the terms in the README itself.

Where VisIt is the wrong tool

The first limit is the domain. If your data is a table of numbers, a time series, or a set of records, a general analysis tool does the job in a fraction of the time, and a mesh visualisation application will be slower to learn and slower to run.

The second is the build. This is a source repository, and the documentation points at a category for help building VisIt, which tells you that building it is a task with real complexity rather than a one line install. The submodule file and the presence of a hashes file both point at a dependency set that has to be satisfied. If your environment is a locked down managed cluster without the ability to install a toolchain and build dependencies, that is a barrier before you get to the visualisation.

The third is the release rhythm, already described. A version is a big, infrequent artefact, and if you need a specific patch level for a paper or a validation run, you may be waiting for it, or building from the develop branch and documenting exactly which commit you used, which the CITATION metadata exists to support.

The fourth is the interface. The application is graphical, and although a Python interface is listed among the topics, the primary mode of working is a desktop application on mesh data. Anyone who wants an automated analysis pipeline over mesh output with no human in the loop is a different audience from the one the project is built for.

Editorial conclusion

VisIt fits a research group that works with mesh-based simulation output, needs a viewer that handles large meshes and works in parallel, and wants the option of scripting the analysis through its Python interface rather than driving a GUI. It is the wrong tool for a quick plot of a CSV file, and it is the wrong tool if you need a supported product with a contract attached, because the project publishes source rather than binaries and its release history is irregular. Before you build on it, check three things: that your data format is one the application reads, since the point of the project is mesh-based scientific data rather than general tabular data, that you can satisfy the build dependencies for the platform you are on, and that you plan around the develop branch, which is the default branch and carries unreleased work. The code is BSD-3 licensed, the last push was on 2026-10-19, and the most recent release is v3.5.0 from 2026-04-29.

Frequently asked questions

What is VisIt used for?

VisIt is a scientific visualization and data analysis application for mesh-based scientific data, which is the kind of output produced by finite element and finite volume simulation codes. Its primary language is C, and the topics list high performance computing, data analysis and a Python interface.

Which branch of the visit-dav/visit repository should I use?

The default branch is develop, and the user manual is published from that same branch, so the documentation matches the development line. Tagged releases exist, with the most recent being v3.5.0 from 2026-04-29.

How do I get help with VisIt?

The repository points to a summary page in the user manual and to three GitHub discussion categories, split into help using VisIt, help building VisIt and help developing VisIt. The older user and developer email archives are kept in the repository as well.

What licence is VisIt released under?

VisIt is distributed under the BSD-3 Licence, and the README states that all new contributions must be made under the same licence. The LICENSE and NOTICE files hold the terms and the required notices, and the work carries the identifier LLNL-CODE-793424.

Does the VisIt repository publish test results?

Yes. The project website links to a nightly test status dashboard, and the repository contains an azure-pipelines.yml, a test directory and a data directory. The repository also carries a SECURITY.md, a CONTRIBUTING.md and a CITATION.cff for citation metadata.

Official sources

  1. License: BSD-3-Clause
  2. Project website
  3. README
  4. Releases
  5. visit-dav/visit on GitHub
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/visit-dav-visit.svg)](https://hysenlabs.com/projects/visit-dav-visit)

Was this useful?