Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

Which is correct?

I congratulated him for coming first in the race.

I congratulated him on coming first in the race.

share|improve this question
add comment

2 Answers

According to Oxford Dictionaries Online the verb congratulate collocates with both prepositions, but the meaning is slightly different.

When you congratulate someone on something you give them your good wishes because something special or pleasant has happened to them, e.g. "I'd like to congratulate you on your marriage".

When you congratulate someone for something you praise them for an achievement, e.g. "I'd like to congratulate the staff for their good job".

According to Google NGram Viewer congratulate on is a lot more frequent than congratulate for, but the latter is used nevertheless.

To answer your question, both sound natural to me.

share|improve this answer
Even to me "congratulate for" sounds more natural (and I also hear people speaking it). But I couldn't find a trusted source which gave an example of "congratulate for". –  user20934 Jun 5 '12 at 19:45
@HiAll: Did you follow the links in my answer? That's why they are there, to provide sources. –  Irene Jun 5 '12 at 19:51
In this question I think for is more apt than on as we are appreciating him for his achievement for coming first in the race. –  Sudhir Nov 19 '12 at 5:43
@Sudhir: Nah. You normally offer congratulations on an achievement, but for acting in a certain way. But I don't think that can be called a difference in meaning - it's more an idiomatic tendency of grammar. –  FumbleFingers Apr 17 '13 at 16:44
add comment

In common mistakes in English by T.j.Fitikides (Longman) is written congratulate on not for and didn't say anything why on not for. Ex: Don't say: I congratulate you for your success. Say: I congratulate you on your success. (Common Mistakes in English)

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.