You can find many places with good view in London, that are available for a free of charge. They are situated on the rooftop of the buildings, but as well outside on the hills. Some skyscraper rooftops are available for free, but you need to book your visit, because the spaces are limited.
To get the best views, you have to focus on the locations in inner London:
Sky Garden in Fenchurch skyscraper (The Walkie-Talkie) - is claimed as London's highest public garden. It is located in City of London. You have to check
skygarden.london to get a free ticket or book a table in restaurant.
Fen Court rooftop (120 Fenchurch street) - located in City of London. The garden offers 360-degree views and is free for members of the public to visit, with no booking required.
Greenwich Observatory - is located in Greenwich park in Greenwich.
Primrose Hill - is located in Camden.
Parliament Hill - is located in Hampstead Heath. It is a bit far from the centre, but it is still a good viewpoint.