Which planet is closest to Earth?


The BBC’s Sky at Night programme said our nearest neighbour is Mars but one viewer disagreed. Was he right? Let’s find the answer using Python and R

A photo of a starry night’s sky

Courtesy Calwaen Liew

Which planet would you say is closest to Earth? Is it Venus? Mars? If you’re anything like me, you would have answered Mars. After all, it’s where space agencies want to send the first manned mission to another planet — surely they would just choose the closest. Wouldn’t they?

In a recent episode of the BBC’s ever-interesting programme More or Less, they tackled this very question. Loyal listener Graham Sherman said that on the BBC Four TV programme The Sky at Night Chris Lintott, professor of astrophysics at Oxford University, said our nearest neighbour was Mars. But Sherman wasn’t so sure. And so the BBC’s Tim Harford put the question to David A. Rothery, professor of planetary geosciences at the Open University: which planet is closest to Earth?

It turns out that the answer depends on when you ask it.

Although the elliptical orbit of Venus is closest to Earth’s own, that doesn’t mean that Venus itself is always the closest planet to us. Sometimes it is, sometimes it isn’t. Each planet takes a different length of time to orbit the Sun1 and so sometimes Mars is quite close to us while Venus is far away, on the other side of the Sun.

Oliver Hawkins, formerly a More or Less researcher and now a data scientist at the House of Commons Library, wrote some code for the programme to calculate which planet was closest to Earth every day for the past fifty years. More or Less then asked Professor Rothery to use the calculations to find out, finally, which planet is closest to Earth. The answer? Mercury.

Yep, Mercury. Or at least, it’s the closest on average. Venus may come closer to Earth than any other planet, but according to Professor Rothery over the last fifty years Mercury has been our closest neighbour 46% of the time, Venus 36% of the time, and Mars 18% of the time.

Apparently, this calculation had never been done before. The data was all available, but no one had thought to check. Unfortunately, More or Less didn’t publish their code — or, more interestingly, their charts — but I really wanted to see what the data looked like. So I worked out how to reproduce it.

Chart showing the distance between Earth and Mercury, Venus, and Mars from 2018 to 2027

Thanks to the hard work of other people, it turned out to be relatively easy. The Jet Propulsion Laboratory, a NASA R&D centre, has published ephemerides — calculated positions of the planets (and other celestial objects) at regular intervals — and Brandon Rhodes has made those calculations easily available in Python via the jplephem and Skyfield packages. A little while after I’d discovered that, I had a Python script to calculate the planetary distances2 for every day between 1950 and 2050 and then dump them to a CSV. And shortly after that, I had an R script to make the charts you see on this page. I’ve published the code on GitHub.

So, I hear you ask, which planet will be our nearest neighbour over the coming months and years?

  1. Venus, until 24 February 2019
  2. Mercury, until 20th December 2019
  3. Venus, until 7th February 2020
  4. Mercury, until 16th of March 2020
  5. Venus, until 4th of August 2020
  6. Mars, until 20th January 2021
  7. Mercury, until 30th July 2021
  8. Venus, until 8th September 2021
  9. Mercury, until 18th October 2021
  10. Venus, until 26th April 2022
  11. Mercury, until 9th July 2022
  12. Mars, until 22nd August 2022
  13. Mars, until 7th January 2023
  14. Mercury, until 17th January 2023
  15. Mars, until 16th March 2023
  16. Venus, until 30th March 2023
  17. Mercury, until 27th May 2023
  18. Venus, until 6th December 2023
  19. Mercury, until 22nd September 2024
  20. Mars, until 24th November 2024
  21. Mercury, until 13th December 2024
  22. Mars, until 16th January 2025
  23. Venus, until 29th June 2025
  24. Mercury, until 31st July 2026

In January 2022 we’ll come as close as we ever do to another planet, when we’ll be about 40 million kilometres from Venus. A few years later, in January 2026, we’ll be far from anything else, 214 million kilometres from our then-nearest neighbour, Mercury. All while we travel at 100,000 kph. Yes, these numbers are staggering. I try not to think about it.

Chart showing the distance between Earth and its nearest planetary neighbour from 2018 to 2027

Near the end of the programme, Oxford University’s Professor Lintott told Harford that ‘calculating which planet is closest when is a fun problem’. Indeed it is.

Update, 11 February 2019

Oliver Hawkins, who made the charts mentioned in the programme, wrote about the process he used on his blog.


Fun fact: Venus orbits the Sun every 224.7 days but takes 243 days to rotate on its axis, so its day is longer than its year.


Make yourself familiar with the astronomical unit, abbreviated as au, which is equivalent to just under 150 million kilometres.