Struvite (MgNH4PO4·6H2O) crystallisation is a promising approach for phosphorus recovery from swine wastewater. Currently, intensive pig feeding has made heavy metals (HMs) extensive in swine wastewater; therefore, significant amounts of HMs have been detected in struvite recovery products. In this study, the HM residues in the struvite products recovered from stirred and fluidised bed reactors were investigated. The results showed that Zn, Mn, and Cu were the most abundant elements in swine wastewater (1,175.3 ± 178.0, 745.4 ± 51.5, and 209.3 ± 54.4 μg L-1, respectively). The HMs, especially Zn (97.0%) and Cu (96.8%), were mainly distributed in the total suspended solids (TSS) of the swine wastewater. Redundancy analysis revealed that the HMs in the struvite products harvested from the fluidised bed reactor were mainly attributable to the aggregation of dissolved matters, because most TSS were elutriated through fluidisation. In contrast, the HMs in the struvite products harvested from the stirred reactor mainly originated from the TSS, which complexed with the HMs, and co-precipitated and settled with the struvite products. Furthermore, chemical fractionation of the HM species confirmed that the presence of HMs in the struvite products was mainly attributable to metal precipitation and organic aggregation.