The 37-year-old played 52 Tests for England, winning Ashes series in 2009, 2010/11 and 2013.
The South African-born top-order batsman made his first-class debut for Warwickshire in 2003 and has scored 17,750 first-class runs with 44 hundreds.
"I've been fortunate to have enjoyed a great career with Warwickshire and England and I am very grateful for all of the support that I have received from my fellow players, coaches and management who I have worked with," Trott said in a Warwickshire statement.
"Choosing to retire at the end of the season is something that I have spoken about at length with my family and this is now the right time to look at the next chapter of my career."
Trott retired from international duty in 2015, after a brief return to the England team having left the 2013/14 Ashes tour of Australia early due to a stress-related illness.
He scored a crucial hundred on his Test debut in the final and deciding match of the 2009 Ashes as England won the series with victory at The Oval.
Trott made nine Test centuries in all with an average of 44.08, while also scoring 2,819 one-day international runs.
Warwickshire director of cricket and former England spinner Ashley Giles said he would be remembered as one of the county's best batsmen.
"Trotty will be remembered as one the greatest batsmen to have played for Warwickshire and England in the 21st century," said Giles.
"At international level, he played a major role in one of the best England teams of the last 50 years; a team that went top of the world rankings, but which also won the Ashes in Australia for the first time in 25 years."
Trott is currently playing in Warwickshire's third County Championship match of the season against Derbyshire at Edgbaston.
First Published: May 4, 2018, 11:26 AM IST