You are looking at the page for a historic release! With the release of PYTHIA 8.3, there should be no reason for anyone to download and run any version of PYTHIA 6 or older. These pages are, however, kept online in the case an old version is needed to reproduce a historic result.

PYTHIA 6 and other ancient program versions

PYTHIA versions 6.X and older are no longer maintained nor developed. The code is provided on these pages to allow older published results to be reproduced, should the need arise.

The page below is safekeeping of the old PYTHIA pages, also for historic interest. We make no guarantees for dead external links, though all historic code should be downloadable.

Please see the official sunset letter for PYTHIA 6, dated December 2012.

Sections on this page:


PYTHIA 6.4 is a direct continuation of 6.3, the transition mainly marked by the appearance of an updated manual. With the release of PYTHIA 8.1 in 2007 it lost its status as the official current version.

For the first few years, both 6.4 and 8.1 were maintained in parallel, however, since 8.1 initially was untested and missed some features, and since the transition from existing Fortran applications to new C++ ones requires some planning and effort in the affected experimental community. As 8.1 matured and gained in acceptance, development efforts gradually shifted away from 6.4, and in December 2012 development of PYTHIA 6 formally stopped, see official letter.

While PYTHIA 8 in almost all respects can do more and better than the 6.4 versions, there are some areas still missing, notably parts of e p, gamma p and gamma gamma physics. These have not been given the highest priority in the LHC era, so for some such application it is still necessary to use PYTHIA 6.4. For all p p, p pbar and e+ e- physics, however, is is now strongly recommended to turn to PYTHIA 8.3.

Last 6.4 version

The final version of the program is:

Previous 6.4 versions

Previous archived versions in the 6.4 series vere

Since update notes largely are incremental, there is no need to preserve all. Some front material has been changed, however, so a few intermediate steps are available:

Sample main programs

In order to illustrate how to run PYTHIA 6.4, a few sample main programs are collected below. Most are very simple, to help new users get started. No independent documentation is available beyond what is found in each file.


PYTHIA 6.3 was mainly used as a development version, seeing the introduction of new transverse-momentum-ordered showers and new models for multiparton interactions and beam remnants. It was therefore largely maintained in parallel with 6.2, and only towards the end became the official "current" PYTHIA version. It was superseded by PYTHIA 6.4 and is no longer maintained.

The PYTHIA 6.301 - 6.305 subversions represented an intermediate step in the evolution of the new multiparton interactions scenario. As such they were not backwards compatible with what came before. In later subversions (see below) backwards compatibility was restored, for checks and comparisons with the new options. The 6.301 - 6.305 versions were clearly marked as experimental, were never widely used, and their usage should be discontinued. Again they are included here for reference purposes only.

Furthermore the PYTHIA 6.305 update notes describes the news in the programs of this series.

Starting from PYTHIA 6.312, also the new transverse-momentum ordered showers were in place, and the new scenario was clearly separated from the old, by the need to call two different subroutines to get the next event. As further (mainly minor) improvements were introduced in new subversions, the old ones were moved here, to allow backwards checks, but not to be used when fetching a fresh copy.

The documentation package consists of:


PYTHIA version 6.2 was up until around 2004 the standard distribution of the Lund Monte Carlo, but was retired in 2005. There is almost full backwards compatibility, in the sense that new features in 6.3 and 6.4 have been added as options, rather than as replacements of the existing code, and in that any main program that worked with 6.2 also ought to work with 6.3 or 6.4. (In details, the results may of course differ.)

The last PYTHIA 6.2 program plus documentation package consists of:

Preceding PYTHIA 6.2 versions

These versions are retained for backwards checks, but are no longer current.


The codes found here represent versions in the PYTHIA 6.1 series, which were superseded by PYTHIA 6.2 in a reasonably smooth transition.

Program code

Some 'snapshots' in the evolution of PYTHIA 6.1:


There never was a single manual with full information on PYTHIA 6.1. The starting point was instead given by

These were still relevant for PYTHIA 6.1, except as described in the update notes below. Since the latter half of the update notes is an incremental list of new features introduced by subversion, in principle one may use the most recent Pythia 6.1 update notes for all preceding subversions as well. In practice, this may be cumbersome in understanding which sections of the first half are relevant and which not for a given subversion. Therefore also some old update note versions are retained:

A short writeup, describing status and new physics as of PYTHIA 6.154, is found in

Sample main programs

In order to illustrate how to run PYTHIA 6.1, a few sample main programs are collected below. Also some extensions to the standard distribution are found here. Most are very simple, to help new users get started. No independent documentation is available beyond what is found in each file.

External contributions to PYTHIA 6

In this section is collected various contributions to PYTHIA that have not been integrated into the standard PYTHIA distribution, but are nevertheless of interest to a larger community. This in particular includes implementations of external user-defined processes, with the expectation that such contributions will become frequent in the wake of the Les Houches standard. In some cases the material is stored locally, but more common is to give a link to a source elsewhere.

Debugging of PYTHIA 6

You are still free to report bugs and bug fixes for the latest 6.4 version, but we don't guarantee that they will ever be taken into account. To have any chance to be taken seriously, you must fulfill same basic criteria, as follows. The hints are also useful for your own bug-finding.

Users often combine PYTHIA with a batch of other libraries in their studies, and then problems originally attributed to PYTHIA in the end may turn out to be located somewhere else. Much time then is lost in unsuccessful attempts to reproduce purported PYTHIA bugs. Furthermore, the use of external libraries makes it impossible to receive a bug-demonstrating main program and run it locally. Therefore, do confirm that your bugs also occur if you run PYTHIA in a completely standalone mode. To be specific:

Before PYTHIA 6

Several older versions are available in the listing below, as far back as code has survived. There are several discontinuities relative to the code in PYTHIA 6, more in program structure than in contents.

Past versions of the PYTHIA code

Past versions of the JETSET code

Past versions of manuals

Past versions of sample main programs and extra subroutines

You may here find examples of main programs and extra subroutines intended to be run together with PYTHIA 5.7 and JETSET 7.4. The quality is very varying. Some are extremely simple programs, just a few lines, of no independent value but maybe useful as examples for beginners. Others are longer, and contain pieces of physics that have already been or may one day be incorporated into the standard distributions of PYTHIA. No independent documentation is available beyond what is found in each file.

Past specialized webpages