The structural requirements for the inhibition of ferrochelatase by N-alkylated porphyrins were investigated and experiments carried out to explore the mechanism of enzyme inhibition. Three dicarboxylic porphyrins, all substrates of the enzyme, are strongly inhibitory when N-alkylated; in contrast, uroporphyrin and coproporphyrin (which are not substrates) do not inhibit after N-alkylation. Free carboxylic acid functions are required for inhibition, as the methyl ester derivatives are not themselves inhibitory. Porphyrins bearing the alkyl group on the pyrrole nitrogen of rings C and D are less effective inhibitors, particularly when zinc is chelated in the centre of the tetrapyrrole or the N-alkyl group is relatively large in size. The substituents at the 2- and 4-positions of the porphyrin system may also affect the inhibitory activity, particularly for the isomers with ring C and D alkylated. The zinc chelates of several N-alkylprotoporphyrins are inhibitory towards haem oxygenase, another haem-binding enzyme, and also in this case increasing the size of the alkyl group decreased the inhibitory activity, particularly for isomers with ring C or D alkylated. The inhibition could be reversed by prolonged incubation with excess porphyrin substrate, but dealkylation of the N-alkylporphyrin during enzyme inhibition could not be demonstrated. It is concluded (a) that N-alkylated dicarboxylic porphyrins compete reversibly with the porphyrin substrate for the enzyme active site and (b) that the structural and steric factors discussed above affect the inhibitory activity by modifying the affinity of the N-alkylporphyrin inhibitor for the enzyme.