Abstract. We discuss a numerical analysis employing the density of partition function zeroes which permits effective distinction between phase transitions of first and second order, elucidates crossover between such phase transitions and gives a new way to measure their strengths in the form of latent heat and critical exponents. Application to a number of models demonstrates the efficacy of the technique.A central theme of statistical physics is how best to distinguish between phase transitions of first and second order from simulational data for finite systems [1]. Numerical methods usually exploit the finite-size scaling (FSS) behaviour of thermodynamic quantities exhibiting rounded and shifted peaks whose shape depends on the order and the strength of the transition and which become singular in the thermodynamic limit at the transition point. An alternative strategy is the analysis of the FSS behaviour of partition function zeroes [2,3,4]. For field-driven phase transitions one is interested in the LeeYang zeroes in the plane of complex external magnetic field h [2], and for temperature-driven transitions the Fisher zeroes in the complex temperature plane are relevant [3]. For d-dimensional systems below the upper critical dimension, the FSS behaviour of the j th partition function zero (for large j) is given by [4] Here, L is the system size, η is the anomalous dimension, t = T /T c − 1 is the reduced temperature which is zero in the first formula, and h denotes the external field which is zero in the second formula. The integer index j increases with distance from the critical point. Despite early efforts [5], it has been considered prohibitively difficult if not impossible to extract the density of zeroes from finite lattice data [6]. This problem has resurfaced recently as zeroes-related techniques have become more widespread [7]. This provides the motivation for the present work in which we wish to suggest an approach suitable for density analyses.For finite L, the partition function may always be factorized as Z L (z) = A(z) j (z − z j (L)), where z stands generically for an appropriate function of