The former Liverpool striker, who won the FA Cup with the Reds in 2006, joins Portsmouth for £11m.
I had a fantastic three years at Liverpool and I would not change it for the world. I am privileged to have played for such a top club," said Crouch.
"Towards the end I did not get as many games as I would have liked but I will only take good memories away."