About VisIt

VisIt is a free interactive parallel visualization and graphical analysis tool for viewing scientific data on Unix and PC platforms. Users can quickly generate visualizations from their data, animate them through time, manipulate them, and save the resulting images for presentations. VisIt contains a rich set of visualization features so that you can view your data in a variety of ways. It can be used to visualize scalar and vector fields defined on two- and three-dimensional (2D and 3D) structured and unstructured meshes. VisIt was designed to handle very large data set sizes in the terascale range and yet can also handle small data sets in the kilobyte range. See the table below for more details about the tool’s features.


VisIt was developed by the Department of Energy (DOE) Advanced Simulation and Computing Initiative (ASCI) to visualize and analyze the results of terascale simulations. It was developed as a framework for adding custom capabilities and rapidly deploying new visualization technologies. After an initial prototype effort, work on VisIt began in the summer of 2000, and the initial version of VisIt was released in the fall of 2002. Although the primary driving force behind the development of VisIt was for visualizing terascale data, it is also well suited for visualizing data from typical simulations on desktop systems. Because of its applicability beyond visualizing terascale data, we are making VisIt freely available.

Key Features


Has rich feature set for scalar, vector, and tensor field visualization

VisIt’s visualization capabilities are primarily grouped into two categories:

  • Plots are used to visualize data and include boundary, contour, curve, label, mesh, pseudocolor, scatter, streamline, subset, surface, tensor, vector, and volume. See plotting screen shots.
  • Operators consist of operations that can be performed on the data prior to visualization. Some examples include slice, index select, iso-surface, onion peel, reflect, threshold, and part selection. See operator screen shots.

VisIt handles 2D and 3D data equally well. VisIt also has the ability to animate data, allowing users to see the time evolution of their data. See table of visualization features.

Provides qualitative and quantitative visualization and analysis

VisIt is also a powerful analysis tool. It provides support for derived fields, which allow new fields to be calculated using existing fields. For example, if a dataset contains a velocity field, it is possible to define a new field that is the velocity magnitude. VisIt’s quantitative analysis tools include:

  • Line-out, which allows you to create curves from higher dimensional datasets by interactively defining lines using the mouse.
  • Pick and query, which allows you to query the dataset by clicking on images.

VisIt also supports a generalized query interface, which allows you to query derived quantities such as volume or surface area. See data exploration screen shots.

Supports multiple mesh types

VisIt provides support for a wide range of computational meshes, including two- and three-dimensional point, rectilinear, curvilinear, and unstructured meshes. In addition, VisIt supports structured AMR meshes and CSG meshes.  See screenshots of 2D and 3D images produced by VisIt.

Powerful, full-featured graphical user interface (GUI)

VisIt’s graphical user interface (see screen shots) allows novice users to quickly get started visualizing their data, as well as allowing power users access to advanced features. VisIt automatically creates time-based animations from data sets that contain multiple time steps. In addition, it also has a keyframe animation capability that allows users to create sophisticated animations. VisIt's on-line help system contains a hyperlinked version of the User’s Manual. VisIt allows users to pan, zoom, and rotate objects interactively using the mouse. It also gives users the ability to interactively size and position geometric objects such as planes and spheres.

Parallel and distributed architecture for visualizing terascale data sets

VisIt employs a distributed and parallel architecture in order to handle extremely large data sets interactively. VisIt’s rendering and data processing capabilities are split into viewer and engine components that may be distributed across multiple machines:

  • Viewer—Responsible for rendering and is typically run on a local desktop or visualization server so that it can leverage the extremely powerful graphics cards that have been developed in the last few years.
  • Engine—Responsible for the bulk of the data processing and input/output (I/O)  and is typically run on a remote machine where the data is located. This eliminates the need move the data and makes high-end compute and I/O resources available to it. The engine can be run serially on a single processor or in parallel on thousands of processors.

Interfaces with C++, Python, and Java

VisIt also supports C++, Python and Java interfaces. The C++ and Java interfaces make it possible to provide alternate user interfaces for VisIt or allow existing C++ or Java applications to add visualization support. The Python scripting interface gives users the ability to batch process data using a powerful scripting language. This feature can be used to create extremely sophisticated animations or implement regression suites. It also allows simulation systems that use Python as a back-plane to easily integrate visualization capabilities into their systems.

Extensible with dynamically loaded plug-ins

VisIt achieves extensibility through the use of dynamically loaded plugins. All of VisIt’s plots, operators, and database readers are implemented as plugins and are loaded at run-time from the plugin directory. New plugins can be added simply by installing them in this directory. VisIt comes with a graphical plugin creation tool, which greatly simplifies the process of creating new plugins. The user describes the properties of the plugin and then the tool generates most of the code necessary to implement the plugin. For example, in the case of an operator, the plugin creation tool creates the code necessary for the graphical user interface attribute window; the C++, Python, and Java interfaces; and the code necessary to interface to VisIt. The only code you need to write is the C++ code that actually performs the operation.

Multi-platform support

VisIt operates on UNIX (Irix, Tru64, AIX, Linux, Solaris), MacOS X (10.3, 10.4), and Windows platforms. Software for these platforms can bedownloaded.

Open Source

VisIt's source code is open source and freely available under the BSD license, allowing programmers to read, redistribute, and modify the source code.

Customer support

The This email address is being protected from spambots. You need JavaScript enabled to view it. mailing list offers responsive customer support. For users associated with SciDAC, GNEP or ASC, e-mail support is available from This email address is being protected from spambots. You need JavaScript enabled to view it.This email address is being protected from spambots. You need JavaScript enabled to view it., and This email address is being protected from spambots. You need JavaScript enabled to view it.. For ASC and GNEP VisIt users, a customer support phone line is available. Dial 42-VIS to talk to a VisIt developer Monday through Friday 8-12, 1-5 Pacific Time.