Champions League permutations: Which teams are into last 16?
All four of England's representatives in the Champions League are through to the last 16 after Liverpool and Chelsea booked their places on Tuesday.
The pair join Manchester City and Tottenham, who secured their spot in the first knockout round with a game to go.
Atletico Madrid and Champions League debutants Atalanta wrapped up the final two runners-up places on Wednesday.
Who is through from each group?
Group A: Paris St-Germain (winners), Real Madrid (runners-up)
Group B: Bayern Munich (winners), Tottenham (runners-up)
Group C: Manchester City (winners), Atalanta (runners-up)
Group D: Juventus (winners), Atletico Madrid (runners-up)
Group E: Liverpool (winners), Napoli (runners-up)
Group F: Barcelona (winners), Borussia Dortmund (runners-up)
Group G: RB Leipzig (winners), Lyon (runners-up)
Group H: Valencia (winners), Chelsea (runners-up)
Tables and fixtures
Ligue 1 champions PSG are through from Group A, topping the table with five wins and a draw. They have scored 17 goals and only conceded two.
Real Madrid, 13-time winners of the competition, are also through.
Bundesliga champions Bayern Munich have cruised through as Group B winners with six victories from six games, scoring 24 goals - the best total from any side in the group phase.
Last season's beaten finalists Tottenham fought back from 2-0 down to beat Olympiakos 4-2 in their penultimate fixture to go through as group runners-up.
Olympiakos beat Red Star Belgrade in the final round of matches to finish third and qualify for the Europa League.
Premier League champions Manchester City clinched top spot in the group thanks to a 1-1 draw at home against Shakhtar Donetsk in their penultimate game.
Atalanta joined them in the last 16 with a dramatic 3-0 win at Shakhtar. The Italian side had lost their first three group games.
Serie A champions Juventus qualified for the last 16 after matchday four and a 1-0 win over Atletico Madrid in their penultimate game guaranteed the Italians top spot.
Atletico Madrid beat Lokomotiv Moscow 2-0 in their final group game to guarantee second spot, with Bayer Leverkusen dropping into the Europa League.
Liverpool's 2-0 win at Red Bull Salzburg booked their place in the last 16 as group winners. Napoli progress as runners-up, while Salzburg drop down to the Europa League.
La Liga champions Barcelona qualified as group winners - for the 13th year in a row - with a 3-1 win over Borussia Dortmund.
Barca then helped Dortmund qualify as runners-up, beating Inter while the German side secured victory against Slavia Prague.
Inter go into the Europa League.
RB Leipzig booked their place in the Champions League knockout stages with a 2-2 draw against Benfica.
Lyon drew 2-2 with Leipzig in the final round of games to snatch the runners-up spot from Zenit St Petersburg, whose 3-0 loss to Benfica not only cost them qualification but gave the Europa League spot to the Portuguese side.
Valencia win the group as a result of their 1-0 win at Ajax, while Chelsea take the runners-up spot following their 2-1 victory over Lille.
Having reached last season's semi-finals, Ajax find themselves in the Europa League.