In this paper we propose and analyse adaptive finite element methods for computing the band structure of 2D periodic photonic crystals. The problem can be reduced to the computation of the discrete spectra of each member of a family of periodic Hermitian eigenvalue problems on a unit cell, parametrised by a two-dimensional parameter - the quasimomentum. These eigenvalue problems involve non-coercive elliptic operators with generally discontinuous coefficients and are solved by adaptive finite elements. We propose an error estimator of residual type and show it is reliable and efficient for each eigenvalue problem in the family. In particular we prove that if the error estimator converges to zero then the distance of the computed eigenfunction from the true eigenspace also converges to zero and the computed eigenvalue converges to a true eigenvalue with double the rate. We also prove that if the distance of a computed sequence of approximate eigenfunctions from the true eigenspace approaches zero, then so must the error estimator. The results hold for eigenvalues of any multiplicity. We illustrate the benefits of the resulting adaptive method in practice, both for fully periodic structures and also for the computation of eigenvalues in the band gap of structures with defect, using the supercell method.