La causa della porfiria variegata è una mutazione del gene "PPOX" che codifica per l'enzima protoporfirinogeno ossidasi, responsabile della trasformazione del protoporfirinogeno IX in protoporfirina IX. Inizialmente si era pensato che il gene fosse localizzato sul cromosoma 14, ma studi successivi hanno confermato che si trova sul cromosoma 1, nel "locus" q22. Causa di porfiria variegata è anche la mutazione del gene "HFE", localizzato nel cromosoma 6, nel "locus"