Peak current equals coil current at the moment of turn-off, and drops over time from there.
Unless it's a big industrial contactor, I think you'll have a hard time even finding a diode that is too small to use. Instead of 1N4148 anyway; for the zener, it might actually dissipate enough power that a too-small part may be out there.
A note about max, the zener voltage is related to transistor voltage if it's wired ground to output (for a low side transistor). For across-coil position, subtract supply max voltage from that rating.
The pulse duration is somewhere between the lossless case (t = L dI / V) and the short-circuit case (t >= 3 L / R_DC), depending on exactly how much voltage the zener is dropping. Probably a few ms.
The full analysis would use the diode's transient thermal resistance to calculate temperature rise from the pulse. For the single clamp diode case, we can shortcut this by simply noting the diode handles more current than the coil does, period. For example, a relay coil rated 12V, 200 ohms, draws 60mA when on; 1N4148 is rated 300mA or so. Who cares. For the zener, the same applies, using its power rating. Say we choose 1N4742 (12V 1W): the coil dissipates 0.72W continuous at 12V, so the also-12V zener dissipates a peak of 0.72W and drops off quickly over time. Who cares. A 1N5242 (12V 0.5W) would not pass by the same rule, so we might look to the transient thermal resistance (if provided). Appnotes may give guidance here. Or just shop for TVSs, which are rated by surge handling.
Tim