Past program versions

The codes accessible from this page are no longer developed, but are provided to allow older published results to be reproduced, should that need arise.

Subsections 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 e p, gamma p and gamma gamma physics. These have not been given the highest priority in the LHC era, so for 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.2.

Latest 6.4 version

Starting with version 6.410 the main repository of PYTHIA subversions has been migrated to the HepForge development platform.

The new PYTHIA 6.4 development area is found here . It contains downloads, update notes and example programs, as in the current webpages, but adds new possibilities for bug tracking, wikis and discussions.

At the same time, the monolithic structure, with all Fortran code in a single file, has been replaced with distribution as a gzipped tar-ball. Alternatively SVN can be used.

For those just wishing the very latest (last?) version, here it is:

Latest non-HepForge 6.4 version

The most recent version of the program, before the move to HepForge, is For beginners, also note the four video-recorded lectures on Monte Carlo Generators for the LHC, from April 2005.

Previous 6.4 versions

Previous archived versions in the 6.4 series vere

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.
  • For persons interested in trying out or moving to the Java programming language, a Java Native Interface to PYTHIA 6.2 is available from Mike Ronan.

    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