We present an algorithm to identify the type of a supernova spectrum,and determine its redshift and phase. This algorithm, based on thecorrelation techniques of Tonry & Davis, is implemented in theSuperNova IDentification code (SNID). It is used by members ofongoing high-redshift supernova (SN) searches to distinguish betweentype-Ia and type-Ib/c SNe, and to identify ``peculiar'' SNe Ia. Weshow that accurate redshifts (with a typical error sigma_z < 0.01) can bedetermined for SNe Ia for which a spectrum of the hostgalaxy is unavailable. Last, the phase of an input spectrum isdetermined with a typical accuracy sigma_t < 3 days. TheSNID code, which will be made available to the community, can alsobe used for comparative studies of supernova spectra, as well ascomparisons between data and associated models.