The Visualization Toolkit (vtk) is a freely available C++ class library for 3D graphics and visualization. In this paper we describe core characteristics of the toolkit. This includes a description of object-oriented models for graphics and visualization; methods for synchronizing system execution; a summary of data representation schemes; the role of C++; issues in portability across PC and Unix systems; and how we automatically wrap the C++ class library with interpreted languages such as Java and Tcl. We also demonstrate the capabilities of the system for scalar, vector, tensor, and other visualization techniques.