Disclosed herein is a method for the preparation of stannsoporfin, comprising: i) exposing a metallic hydrogenation catalyst to a hydrogen atmosphere to form pre-hydrogenated catalyst; and ii) contacting hemin with the pre-hydrogenated catalyst and maintaining the hemin and catalyst under one or more combinations of temperature, hydrogen pressure, and time sufficient to remove iron from the hemin and reduce the vinyl groups of the hemin to ethyl groups, thus forming mesoporphyrin IX; and iii) reacting mesoporphyrin IX with a tin (II) salt to form stannsoporfin using a controlled rate of oxidation.