Do both of the witnesses have to be 18 or over?

There is no legal requirement for witnesses at a wedding to be 18 or over, however, when it comes to younger witnesses, you would have to be satisfied that they fully understood what they were witnessing and what their signature on the marriage register meant. It is therefore advisable for marrying couples to choose responsible adults as witnesses, but if they have a particular preference for someone younger, check with your diocesan registrar in each case.