A set of aligned character sequences or a matrix of evolutionary distances often contains a number of different and sometimes conflicting phylogenetic signals, and thus does not always support a unique tree. The method of split decomposition addresses this problem. For ideal data, this method gives rise to a phylogenetic tree, whereas less ideal data are represented by a tree-like network that may indicate evidence of different and conflicting phylogenies. The SplitsTree program, described here, implements this approach and can be used to compute and visualize phylogenetic networks called splits graphs. It also implements a number of distance transformations, the computation of parsimony splits, spectral analysis and bootstrapping.