We provide a novel explanation to the muon g − 2 excess with new physics contributions at the two-loop level. In this scenario, light millicharged particles are introduced to modify the photon vacuum polarization that contributes to muon g − 2 at one additional loop. The muon g − 2 excess can be explained with the millicharged particle mass mχ around 10 MeV and the product of the multiplicity factor and millicharge squared of Nχε2 ∼ 10−3. The minimal model faces severe constraints from direct searches at fixed-target experiments and astrophysical observables. However, if the millicharged particles are also charged under a hidden confining gauge group SU(Nχ) with a confinement scale of MeV, hidden-sector hadrons are unstable and can decay into neutrinos, which makes this scenario consistent with existing constraints. This explanation can be well tested at low-energy lepton colliders such as BESIII and Belle II as well as other proposed fixed-target experiments.