Goku's real name is Kakarot. He was born with this name on Planet Vegeta, before being sent to Earth.
Kakarot: Goku's Saiyan Name
"Kakarot" is the Saiyan name given to Goku at birth. This name, like other Saiyan names, is a pun related to vegetables. "Kakarot" is a play on the word "carrot." It signifies his Saiyan heritage and warrior background.
Goku: His Earth Name
When Kakarot crash-landed on Earth, he was found by Grandpa Gohan, who named him "Goku." This is the name he has used throughout his life on Earth and is how most people know him. So, while Kakarot is his birth name, Goku is the name he identifies with and is widely known by.
Summary
In essence, Goku has two names:
- Kakarot: His Saiyan birth name.
- Goku: The name given to him by Grandpa Gohan on Earth.