Puppies have blue eyes when they open because they have no melanin in their iris at the time of birth.
Because of this, the eyes appear blue when they finally open after the first few days. The melanin only starts developing as they grow older, explaining why the eye color change and gradually takes a more permanent hue from 9- 16 weeks of age.