LanHEP has been designed as part of the CompHEP package [1], a software for automatic calculations in high energy physics. CompHEP allows symbolic computation of the matrix element squared of any process with up to 6 incoming and outgoing particles for a given physical model (i.e. a model defined by a set of Feynman rules as a table of vertices in the momentum representation) and then numerical calculation of cross-sections and various distributions.

The main purpose of the new option given by LanHEP is to easily introduce new models. LanHEP makes possible the generation of Feynman rules for propagators and vertices in momentum representation starting from the Lagrangian defined by a user in some simple format very similar to canonical coordinate representation. The user should prepare a text file with description of all Lagrangian terms in the format close to the form used in standard publications. Of course, the user has to describe all particles and parameters appearing in Lagrangian terms.

The main LanHEP features are:

- LanHEP expands expression and combines similar terms;
- it performs the Fourier transformation by replacing derivatives with momenta of particles;
- it writes Feynman rules in the form of four tables in CompHEP format as well as tables in LaTeX format;
- user can define the substitution rules, for example for covariant derivative;
- it is possible to define multiplets, and (if necessary) their components;
- user can write Lagrangian terms with Lorentz and multiplet indices explicitly or omit indices (all or some of them);
- LanHEP performs explicit summation over the indices in the Lagrangian, if the corresponding components for multiplets and matrices are introduced;
- several tests can be applied to check the correctness of the Lagrangian;
- supersymmetric theories can be described using superpotential formalism;
- BRST invariance of the Lagrangian can be tested, and ghost interaction can be constructed;
- LanHEP allows the user to introduce vertices with 4 fermions or 4 colored particles (such vertices can't be introduced directly in CompHEP) by means of auxiliary field with constant propagator;

The LanHEP software is written in C programming language. The first version [2] was released in August 1996.