When having your children baptized, do the godparents have to be Catholic or can it be anyone?

They have to be Catholic.

Can. 874 §1. To be permitted to take on the function of sponsor a person must:

  1. be designated by the one to be baptized, by the parents or the person who takes their place, or in their absence by the pastor or minister and have the aptitude and intention of fulfilling this function;
  2. have completed the sixteenth year of age, unless the diocesan bishop has established another age, or the pastor or minister has granted an exception for a just cause;
    3.** be a Catholic who has been confirmed and has already received the most holy sacrament of the Eucharist and who leads a life of faith in keeping with the function to be taken on;**
  3. not be bound by any canonical penalty legitimately imposed or declared;
  4. not be the father or mother of the one to be baptized.
     §2. A baptized person who belongs to a non-Catholic ecclesial community is not to participate except together with a Catholic sponsor and then only as a witness of the baptism

Emphasis mine

You need one Catholic godparent who is a) at least 16; b) fully initiated (Baptism, Confirmation, First Eucharist); c) in good standing with the Church (e.g., if married, married in the Church). If you want, you can select a second person, either another Catholic or someone who is non-Catholic and is a Christian witness to the Baptism.

DISCLAIMER: The views and opinions expressed in these forums do not necessarily reflect those of Catholic Answers. For official apologetics resources please visit www.catholic.com.