This is an interesting one, and it depends who you ask....
I was always told that a colt is called a stallion when he reaches his fourth year.
But an old farmhand (must be in his 90's) said that the stud he worked on as a boy, colts became stallions once they had bred a foal.
When I was in Kenya, a Maasai chap told me the horses/zebras are only called stallions if they are in charge of the herd - everything else is a colt (or a mare/filly obviously).
So I guess it depends what country you are in, and who you ask. I think the generally accepted norm is that they are a colt until they are 3, and a stallion in their fourth year though
I also thought it was 3 but if you google it a fair few places think 4. Colt or stallion, so long as you know they've got their nuts and shouldn't be messed with
According to the BHS I was told 4 also in many breed societies they say 4 and over and most show schedules as usually you have a mare & foal, yearling, 2-3 year olds then a stallion class but it may vary between breeds etc