Tree drawing software for Apple Macintosh and Microsoft Windows

by Roderic D. M. Page
Division of Environmental and Evolutionary Biology
Institute of Biomedical and Life Sciences
University of Glasgow, Glasgow G12 8QQ, Scotland, UK

Copyright © 2000 Roderic D. M. Page.

Permission to use and distribute this software and its documentation for any purpose is hereby granted without fee, provided the above copyright notice, author statement and this permission notice appear in all copies of this software and related documentation.




Obtaining TREEVIEW






Tree window

Menu commands

Release history


Appendix 1: Tree descriptions

Appendix 2: Tips on handling different file formats


TREEVIEW is a program for displaying and printing phylogenies. The program reads most NEXUS tree files (such as those produced by PAUP and COMPONENT) and PHYLIP style tree files (including those produced by fastDNAml and CLUSTALW). It is available for both Apple Macintosh and Microsoft Windows PCs.

Obtaining TREEVIEW

TREEVIEW is free and can be obtained on the Internet from the World Wide Web site


TREEVIEW is free, but please register your copy. This will ensure that you will informed of new releases and bug fixes. To register please send the message

subscribe treeview
to The message should not contain anything else. You will automatically be added to the TreeView mailing list.

Citing TreeView

If you use TREEVIEW in a publication I'd be grateful if you cited the following paper:

Page, R. D. M. 1996. TREEVIEW: An application to display phylogenetic trees on personal computers. Computer Applications in the Biosciences 12: 357-358.



The Macintosh versions require System 7.1 or later, and come as self-extracting files. There are versions for the Power Macintosh and 68K Macs (e.g., Quadras). Simply place the TREEVIEW application in the desired folder. To access online help from within TREEVIEW you will need the free Internet Config system extension. This extension stores information about your Internet preferences and applications, and TREEVIEW uses it to communicate with your Web browser.


TreeView is available in both 16 bit (Win16) and 32 bit (Win32) versions. The files are zipped file and hence you will need to use pkunzip, Xtree for Windows, WinZip, or some other program.

Win16 (Windows 3.1, Windows for Workgroups)

The 16 bit version comes as the zip file TREEV16.ZIP. Extract this file into a temporary folder or directory . Among the resulting files is SETUP.EXE. The installation program copies TREEVIEW to the directory of your choice, adds a group and icon to Program Manager, and, if necessary, updates the file CTL3DV2.DLL in your Windows system directory. It also adds TREEVIEW to your Registry Database. The installation program also includes an Uninstall program so you can remove TREEVIEW from your computer.

Win32 (Windows 95 and Windows NT)

The 32 bit version is stored as the file TREEV32.ZIP. Extract this file into a temporary folder or directory . Among the resulting files is SETUP.EXE. This program will install TREEVIEW for Win32 on your computer. If you are running Windows 95 the installation program will add TREEVIEW to your registry so that files with the extension .TRE will have the TREEVIEW document icon when viewed with Expolorer and in the Open and Save dialog boxes in TREEVIEW. The installation program also supports the Uninstall feature of Windows 95, so that you can remove TREEVIEW from your computer using the Add/Remove Programs control panel application.


TREEVIEW is designed to read most NEXUS and PHYLIP format tree files. It also can write NEXUS files, and graphics files. Note that it does not read NEXUS or PHYLIP data files.


Tree and graphics files written by TREEVIEW have the following icons:

You can launch TREEVIEW by double-clicking on a data file icon. You can also drag the icon of a tree file (created by PHYLIP, PAUP, or TreeView, for example) onto the application icon, or onto an alias of the application. You may find it convenient to create an alias of TREEVIEW and place the alias on your desktop. You can then drag tree files onto that alias whenever you want to view those trees.

The graphics files are standard PICT files which can be read by most Macintosh word processors and graphics programs (an exception is Macromedia Freehand, which cannot read TREEVIEW PICT files).


By default TREEVIEW uses the extension *.TRE for its files. If you are running Windows 3.1 or Windows for Workgroups use File Manager to associate files having this extension with the program TREEVIEW.EXE, then double-clicking on a *.TRE file will start TREEVIEW. You may also want to associate other file types, such as *.PHB (CLUSTALW bootstrap trees), with TREEVIEW.

TREEVIEW also supports drag and drop opening of files, so that if TREEVIEW is running you can open a tree file by dragging the file (using, say, File Manager or XTree for Windows) onto TREEVIEW. The cursor changes to one of the shape showns below, depending on whether you are dragging one or more than one file.

TREEVIEW produces graphics files using the standard Windows Metafile (*.WMF) recognised by most Windows drawing programs (e.g., CorelDRAW!) and word processors.

Under Windows95/NT 4.0, right clicking on a TREEVIEW document displays a context menu containing both an Open and an Edit command:

Right menu

Choosing Open load the file into TREEVIEW; choosing Edit opens the file in the program Notepad. This provides a quick way of looking at the tree file in a text editor.


TREEVIEW will read files that contain trees with up to 500 terminal taxa. The number of trees is limited by the amount of memory available on your computer. Macintosh users can increase the memory available to TREEVIEW by selecting the TREEVIEW application and using the Get info command in Finder.

Tree window

TREEVIEW displays a single tree in the tree window. This window displays the tree's name on the status bar; if the tree file contains more than one tree then the buttons Previous and Next enable you to browse among the trees in the file. You can also use the Choose tree command to select a tree.

Menu commands

This section lists the menu commands available in TREEVIEW.

File menu


Open a tree file. TREEVIEW reads NEXUS and PHYLIP tree files. In the Windows version the Open dialog box has a range of filters corresponding to commonly used extensions for tree files.


Close the current tree window.

Save as

Enables you to saves the tree(s) to a file with a different name using a number of different formats. The default is a NEXUS file with TAXA and TREES blocks, however you can also save just the TREES block, or write a PHYLIP or Hennig86 style tree file.

The dialog box (Macintosh version shown above) also gives you control over whether the trees have branch length information and internal labels (if available), and if youÿve defined an outgroup you can choose to root the trees before saving them.

Save as graphic

Saves a picture of the current tree as a PICT file (Macintosh) or Windows Metafile (Windows). These formats can be read by most graphics programs and word processors. The picture is scaled to fit onto the current page setting (these can be changed using Print setup).

Import submenu

The Import submenu lists commands that access trees in formats other than the standard ones the Open command can read.

List of taxon names

This command reads in a list of taxon names, one per line, and constructs a star tree for them. You can then use TREEVIEW's tree editor to edit the tree. This command provides a quick way of creating trees from lists of taxa. The file containing the taxa must be an ASCII text file with one taxon name per line, e.g.:

taxon one
taxon two
taxon tree
taxon four

Search TreeBASE

Chosing this command will launch your Web browser and display the search page for the TreeBASE data base. You can Paste trees from NEXUS files in TreeBASE straight into TREEVIEW from your browser.

This command requires that you have a properly configured Web browser and an Internet connection on your machine. For more details click here.

Print setup

Set the page orientation and choose a printer.

Print preview

Displays how the tree will appear on the printed page. From version 1.4 you can print a tree over more than one page. Chose a value from the popup menu to the right of the Close button.


Print the current tree.



Edit menu


Copies the current tree to the Clipboard as both a picture and a text description. The picture is scaled to fit onto the current page setting (these can be changed using Print setup), and can be pasted into another application (e.g., graphics program or word processor).

The tree description is in standard "nested parentheses" form, and can be pasted into other applications (e.g., the text editors in PAUP and COMPONENT), or into TREEVIEW itself.

In programs that support both text and pictures (e.g., word processors) you may need to use that program's Paste special command (or its equivalent) to select either the picture of the tree or its text description.


If the Clipboard contains text, TREEVIEW will treat the text as one or more tree descriptions and attempt to read the trees. If successful, TREEVIEW will display the trees in a new window entitled "From Clipboard."

To try out this feature, select the following text in your Web browser, copy it to the Clipboard, and paste it into TREEVIEW:


Edit tree

Opens the currently displayed tree in a tree editor window.


Displays a tabbed dialog box where you can specify your default preferences for displaying trees. Use this command to specify how you want your trees displayed when you first open the tree file.

Style menu

Plain, Bold, Italic, Size, Font

Specify the font used when drawing the tree.

Trees menu

Radial, Slanted cladogram, Rectangular cladogram, Phylogram

Control the type of tree being displayed. The Phylogram command is only available if the tree has branch lengths. Radial draws the tree as an unrooted tree radiating from a central point. Branches are scaled by their length (if tree has branch lengths), otherwise each branch has the same length.

Show internal edge labels

Some programs store information about the internal nodes as labels for those nodes. Examples include PHYLIP CONSENSE and CLUSTALW which store cluster or split frequencies in the tree description, although they do it differently: The PHYLIP CONSENSE program stores the frequency of groups in the consensus tree as edge lengths. Use this command to view these values (they look best on a Rectangular cladogram). CLUSTALW *.PHB files store bootstrap values as labels of the internal nodes of the the tree.

Other programs that use internal labels are Spectrum by Mike Charleston (, which stores split numbers, and Autodecay 3.0 ( which stores decay indicies.

TREEVIEW reads and stores these labels, and will display them if the Show internal edge labels command is checked.

Internal label font

You can change the font used to label the internal edges (and the scale bar you are viewing a phylogram) independently of the font used to label the terminal taxa. Under Windows the standard font dialog box is displayed, the Macintosh version displays a similar dialog box.


You can have TREEVIEW order the tree such that "heavier" nodes (i.e., those with more descendants) are either drawn to the left or to the right, or restore the original order.

Choose tree

Displays a dialog box listing all the trees in the file being displayed in the current tree window.

Define outgroup

You can define a set of taxa to be the outgroup. Note that your tree will not be rooted with this outgroup until you choose the Root with outgroup command.

Root with outgroup

Roots the tree using the currently defined outgroup.

Print Trees

Displays a dialog box which allows you to print more than one tree per page:

The Layout button displays a dialog box where you can specify how many trees per page you want (upto 100), whether you want to display the names of the trees, and whether the trees are drawn left to right or top to bottom.

Help menu


On the Mac this appears under the menu, in Windows it appears on the Help menu. Chosing this command will launch your Web browser and display the help pages for TREEVIEW. This command requires that you have a properly configured Web browser and an Internet connection on your machine. For more details click here.

Release history

1.6.0 February 10 2000


1.6.0 February 10 2000



1.5.3 November 25 1998


Incompatibility with MacOS 8.5 fixed (picture buttons would not display properly, and print preview in the Print Trees dialog no longer worked).


1.5 February 23 1998


MacClade/COMPONENT-style tree editor, improved drawing of unrooted trees, copy/paste tree descriptions to/from Clipboard, support for MEGA tree format, import list of taxon names, access to TreeBASE via Web browser.

1.4 6 March 1997


Support for bigger trees (500 taxa), printing a tree over more than one page, printing more than one tree per page (the Print Trees command). Status bar added.


Dialog boxes now moveable, list boxes work faster.


Bugs in Preferences and Font dialog boxes fixed, program limited to single instance, additional file types associated with program.

1.3 12 September 1996

Added support for preference files, Preferences command, lists of most recently used files, and Web-based online help. Freeman installer used for Win16 version.

1.2 13 May 1996


Added support for Hennig86 (Tosak Seelanan), can write trees in different formats using new Save As dialog box, able to change fonts for internal labels independently of terminal labels (Internal Label Font).


Bug in font menu fixed (when window opened the font checked in the menu was incorrect).

Text drawing improved (background no longer appeared ´whited out¡ when pasting picture onto a coloured background).


Support for Windows 95 look and feel, especially the new Open and Save dialog boxes, 16x16 icons added for better appearance, InstallShield used for installation so program conforms to Windows 95 guidlelines.

1.0b 5 March 1996


Improved reading of NEXUS files (previously too restrictive in what it regarded as a valid taxon name), overprinting of PHYLIP consensus tree node frequency values fixed (Fred Rickson).


Improvements to Windows printing code (printing progress dialog box added).

1.0a 22 January 1996


Win32 version released (native code for Windows 95 and Windows NT).

1.0 9 January 1996


Bug in handling inDrag event fixed (lead to disabled menu if user clicked on window title bar).


Support for dragging multiple files onto application.

0.97 (Not released)


Windows bug in tree list box (LBS_SORT was incorrectly set, consequently trees were not in proper order). Windows file open dialog box now filters files using common extensions (e.g., *.TRE, *.NEX, *.PHB).


Creator for PICT files changed to SimpleText to avoid crashing program when user double-clicked on PICT file icon. Program now checks for bad files (e.g., not tree files).

Ralph Bernstein reported printer error in Mac version (crashed when printing for the second time—bug in not calling PrOpen and PrClose correctly).


Can now read CLUSTALW *.PHB files and display bootstrap values on radial trees (Ralph Bernstein & Ed Rybicki).

PHYLIP tree reader now skips white space correctly (can read PUZZLE tree files — Korbinian Strimmer).

New dynamic allocation of memory for tree buffer (Korbinian Strimmer).

0.96 22 December 1995.

Radial (=unrooted) tree display added. Bug in code to reroot trees fixed (internal branch lengths were not correctly assigned). Problem in detecting duplicate labels fixed. Interface improvements (mainly to Mac verison).

0.95a 30 November 1995.

Define outgroup would fail if outgroup taxa had underscore (´_¡) in name.

0.95 27 November 1995.

Improved handling of PHYLIP files (previously taxon names that did not begin with a letter, or which contained characters other than letters, numbers, period "." or underscore "_" caused program to reject file or crash). Print preview in Windows now much faster. Order, Has bootstrap values, Define outgroup, and Root with outgroup commands added. Manual written.

0.9 16 November 1995.

First release (68K Mac, PowerMac, Win16).


TREEVIEW is written in C++ and compiled with Borland C++ 5.01 (Windows), and Metrowerks CodeWarrior (Macintosh).Writing the interface to the program was made easier by using ideas from the National Center for Biotechnology's VIBRANT library written by Jonathon Kans and Julian Smart's wxWin C++ library. Implementing tabbed dialog boxes and other features was made easier by public domain code from Jim Stout ( Jim's CDEFs), Edward McCreary (the TabDlg.DLL library) and Gilles Vollant (MRU library). The installation program for Windows 95 comes courtesy of InstallShield Corporation ; for Windows 3.1 I've used Freeman Installer. Code for drawing radial trees was adapted from J.-P. Barthélemy & G. Guénocheÿs 1991 book Trees and proximity representations (John Wiley & Sons), with improvements based on Joe Felsenstein's "maximum daylight" algorithm ( Dave Swofford kindly gave access to his source code for this algorithm). Mike Charleston motivated me to complete the program, and helped with the window tiling algorithm for the Mac. I thank those users who reported bugs, made suggestions, and/or tested trial versions, especially Ralph Bernstein, Torsten Eriksson, Fred Rickson, Ed Rybicki, Tosak Seelenan, and Korbinian Strimmer.

Appendix 1: Tree descriptions

TREEVIEW reads trees written using variations of the "Newick 8:45" format adopted by the NEXUS format and by PHYLIP. This appendix gives a brief descrption of the format. To write a tree description visit all the nodes in the tree, starting at the root, and follow these rules:

If the node is a leaf (= terminal taxon)

Write the node's label, then return to the node's immediate ancestor. If the branch leading to the leaf has a length, write a colon then the length immediately after the leaf label, e.g "human:0.0167".

If the node is an internal node:

1. If you're visiting the node for the first time, write a left parenthesis "(", then visit the node's leftmost child.

2. If you've already visited the node before, but haven't yet visited all that node's descendants, write a comma ",", then visit the next descendant of the node (going from left to right).

3. If you've already visited the node before, and you've visited all the node's descendants, write a right parenthesis ")". If the node has a label (e.g. a bootstrap value) then write that label now, e.g. ")100". If the branch leading to the node has a length, write a colon then the length immediately after the leaf label, e.g "):0.08".and visit the node's immediate ancestor (if any). If the current node is the root then terminate the description with a semicolon ";" and stop.

A simple example

Here is a simple tree and the sequence of steps used to describe it.

Applying the rules to this tree, the description evolves as follows:

 Step Tree description
 1 (
 2 ((
 3 ((a
 4 ((a,
 5 ((a,b
 6 ((a,b)
 7 ((a,b),
 8 ((a,b),(
 9 ((a,b),(c
 10 ((a,b),(c,
 11 ((a,b),(c,d
 12 ((a,b),(c,d,
 13 ((a,b),(c,d,e
 14 ((a,b),(c,d,e)
 15 ((a,b),(c,d,e))
 16 ((a,b),(c,d,e));

Appendix 2: Tips on handling different file formats

Saving trees to different file formats

TREEVIEW can save trees to different file formats, but does not ensure that the labels are consistent with that program. For example, PHYLIP requires labels of only 10 characters in length, whereas other programs may have much longer taxon names. If you anticipate moving trees between programs you will need to ensure that the labels you use will be acceptable to all the programs.

Tips for handling trees from various programs


ClustalW produces .DND and .PHB files which TREEVIEW can read. The bootstrap values in .PHB trees are stored as labels for the internal nodes. These can be viewed using the Show Internal Labels command.


TreeView will read COMPONENT tree files, but not files with DISTRIBUTION blocks.


Hennig86 tree files do not have taxon names, so the taxa from a Hennig86 file will be labelled "0", "1", etc. Likewise, when trees are saved in this format any taxon names will be lost.


TreeView reads NEXUS tree files and so will accept MacClade tree files (but not data files). However, it will not cope with trees of different sizes in the same file (for example, if you've deleted branches from some but not all the trees).


TreeView will not read data files, but should accept all PAUP tree files with fewer than 200 terminal taxa.

PAUP* for DOS and Unix

The forthcoming PAUP* will be available on DOS and Unix machines as a command line program. If you run the DOS version under Windows you can readily view tree files produced by the PAUP* command SAVETREES, either by opening the files in TREEVIEW, or by using drag and drop. To do the later, open File Manager to view the directory to which you are writing your tree files. To view a file, simply drag it onto the TREEVIEW application.

To view trees produced by the Unix version you will need to ftp them to your Mac or PC.

Note that to get branch lengths from the command line versions you need to specify the BRLENS option, e.g.



PHYLIP CONSENSE, rather unfortunately, outputs the frequency of each node in the input trees (the profile) as the length of the corresponding edge. To view these values use the Show Internal Labels command.

Ribosomal Database Project (RDP)

The RDP ( allows phylogenetic analysis over the Internet. You can submit a sequence and receive a tree back by email in Newick format (see for details). This tree is readable by TREEVIEW. Simply cut and paste the tree description into a text file, save the file, then open it in TREEVIEW. Note that the tree is preceded by a header that looks like this:


              RDP Mail Server Revision 5.0 18-MAY-1995
           If you have problems or questions about the server
              send email to

Do not include this header in the file to be viewed by TREEVIEW.