Kittle played at Iowa from 2012 to 2016 under head coach Kirk Ferentz. As a freshman, Kittle had a limited role behind senior C. J. Fiedorowicz, junior Ray Hamilton, and sophomore Jake Duzey. He had his first collegiate reception, which went for 47 yards, against the Missouri State Bears. Overall, he caught five passes for 108 yards. Iowa's tight end unit remained crowded for Kittle in the 2014 season. Along with the return of Hamilton and Duzey, junior Henry Krieger-Coble added to the depth. Kittle had a lone reception for 25 yards against Maryland as his only catch of the season. Kittle's role expanded in the 2015 season. On September 26, 2015, against North Texas, he scored his first collegiate touchdown on a 43-yard reception from quarterback C. J. Beathard. Overall, Kittle had 20 receptions for 290 receiving yards and six receiving touchdowns in the 2015 season. His six receiving touchdowns ranked sixth in the Big Ten Conference. As a senior in the 2016 season, Kittle headlined a tight end unit that contained junior Peter Pekar and freshman Noah Fant. He had his best statistical game against North Dakota State with five receptions for 110 receiving yards. In his senior season, he had 22 receptions for 314 receiving yards and four receiving touchdowns. During his collegiate career, Kittle had 48 receptions for 737 yards and 10 touchdowns.