Yes, it is true that neutrons are neutral(carrying no charge). But, the neutron is composed of one up quark (charge +2/3 e) and two down quarks (charge −1/3 e). So, magnetic moment of the neutron is due to the sum of the magnetic moment of constituent quarks.