We examine interacting Abelian theories at low energies and show thatholomorphically normalized photon helicity amplitudes transform into dualamplitudes under SL(2,Z) as modular forms with weights that depend on thenumber of positive and negative helicity photons and on the number of internalphoton lines. Moreover, canonically normalized helicity amplitudes transform bya phase, so that even though the amplitudes are not duality invariant, theirsquares are duality invariant. We explicitly verify the duality transformationat one loop by comparing the amplitudes in the case of an electron and the dyonthat is its SL(2,Z) image, and extend the invariance of squared amplitudesorder by order in perturbation theory. We demonstrate that S-duality isproperty of all low-energy effective Abelian theories with electric and/ormagnetic charges and see how the duality generically breaks down at highenergies.