The England Under-19 international had a medical on Friday and agreed a five-year deal with the Premier League club.
The 18-year-old will start pre-season with the Reds but is expected to go out on loan, with Championship side Derby thought to be interested.
"It's a dream come true. It's a bit surreal and it hasn't really hit me yet. But I'm buzzing and just excited to get started," said Gomez.
"The club has got great history, it's a great club and one that I've always been following from when I was young.
"Here was somewhere I wanted to go and get better and learn, and play good football. It was an easy decision."
Gomez won the 2014 European Championship in Malta with the England Under-17 side.
He made 24 appearances for Charlton last season and is the Anfield club's fourth summer signing, after midfielder James Milner, striker Danny Ings and goalkeeper Adam Bogdan.
Liverpool have signed highly rated Charlton defender Joe Gomez for £3.5m.