Abstract. We present an algorithm to identify the types of supernova spectra, and determine their redshift and phase. This algorithm, based on the correlation techniques of Tonry & Davis, is implemented in the SuperNova IDentification code (SNID). It is used by members of the ESSENCE project to determine whether a noisy spectrum of a high-redshift supernova is indeed of type Ia, as opposed to, e.g., type Ib/c. Furthermore, by comparing the correlation redshifts obtained using SNID with those determined from narrow lines in the supernova host galaxy spectrum, we show that accurate redshifts (with a typical error σ z 0.01) can be determined for SNe Ia for which a spectrum of the host galaxy is unavailable. Last, the phase of an input spectrum is determined with a typical accuracy of σ t 3 days.