I get this question all the time. I recommend 4 months of age for most dogs and cats. Yes, there is some evidence that spaying early may lead to an increase in urinary tract issues in dogs. However, we know for sure that the chance of getting mammary cancer goes up dramatically if the dog has a heat cycle first. Also, dogs and cats can get pregnant as early as 6 months in some areas of the country. If you want to avoid a litter you need to get your pet spayed before the first heat. So here are my recommendations:
Female Dogs: 4 months.
The risk of urinary tract infection is far out-weighted by the risk of mammary cancer. It's also easier on the dog. A 4 month old dog can be spayed in as little as 6 minutes. Once they get to 60lbs., it can take 30-45 minutes.
Dog Neuters: 4-6 months
You can wait a little longer in the males because most of the effects of testosterone will be reversed once the source is gone. Waiting longer does have some risk. Some behaviors, once learned, may stay with the dog after the neuter, such as marking territory and aggression.
Female Cats 4 months.
Many people find cat's behavior during estrus undesirable. And that's being nice. Cat's in heat howl and carry on, and worse, they are induced ovulators. This means they won't go out of heat until they breed. You will like your cat much better if you get her spayed before the first heat.
Male Cats 4-6 months.
Once a cat sprays in your house you will wish you had him neutered before the spraying started. And neutering him may not stop it.
You should talk with your veterinarian about the optimum age to have your pet altered. You may want to wait for a variety of reasons: breeding the dog, showing the dog or waiting for male characteristics to develop. I just like people to keep in m ind two facts: 1) Most pets that are relinquished to a shelter are there for behavioral reasons, and 2) A Cesarean section (surgery to remove puppies or kittens from mom) costs more than $1000 in most places. Get the dog or cat spayed or neutered.