A puppy is a juvenile dog that can weigh between 1-3 pounds for smaller breeds up to 15-23 pounds for larger breeds after birth. All puppies grow quickly in their early stages. A puppy's coat color is not finalized at birth and may change as they grow older as seen in some breeds like Yorkshire Terriers.