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 184.108.40.206
uroporphyrinogen-III synthase, which is often called cosynthase, the product is cyclized to form uroporphyrinogen-III. If EC 220.127.116.11
is absent, the hydroxymethylbilane cyclizes spontaneously to form uroporphyrinogen I.