The 33-year-old is England's highest Test run-scorer in history, with 12,254 in 160 Tests, and also served as skipper for a record 59 Tests.
"Although it is a sad day, I can do so with a big smile on my face knowing I have given everything and there is nothing left in the tank," Cook said in a statement today.
"I have achieved more than I could have ever imagined and feel very privileged to have played for such a long time alongside some of the greats of the English game.
"The thought of not sharing the dressing room, again, with some of my teammates was the hardest part of my decision, but I know the timing is right."
The final Test with India, in a series which England have already won, gets underway at The Oval on Friday.