The enzyme works by stepwise addition of pyrrolylmethyl groups until a hexapyrrole is present at the active centre. The terminal tetrapyrrole is then hydrolysed to yield the product, leaving a cysteine-bound dipyrrole on which assembly continues. In the presence of a second enzyme, EC
4.2.1.75 uroporphyrinogen-III synthase, which is often called cosynthase, the product is cyclized to form uroporphyrinogen-III. If EC
4.2.1.75 is absent, the hydroxymethylbilane cyclizes spontaneously to form uroporphyrinogen I.