It would be interesting to know Earth’s surface area, including its topographic features. Unfortunately, I haven’t been able to find this out. But what I can do is provide an answer for a reference oblate spheroid Earth.
We first need to find out Earth’s equatorial and polar radii. Best to use the latest information. We get that from this excellent paper:
semi-major and minor axes of the MEE, a = 6378137.678 ± 0.0003 m and b = 6356752.964 ± 0.0005 m
Next we need the proper formula. That is found here:

Now we do the math straight on a linux command line, but we substitue b for c, because that’s how geoscientists do it:
> bc -l <<< 'pi=4*a(1);a=6378137.678;b=6356752.964;e=sqrt(1-b^2/a^2);2*pi*a^2+pi*b^2/e*l((1+e)/(1-e))'
510065728777854.52641416583885417771
The answer is 510,065,728,777,855 m² – for Mean Sea Level.
Wikipedia and a few other sources use 510,072,000 km², but since there is no reference to any scholarly source, it’s meaningless. That result is equivalent to adding ~40 meters to equatorial and polar radii.
Enjoy 🙂 -Zoe
Update – 01/01/2020:
I think I have figured out where Wikipedia et al gets that number. They use an approximation technique and add up latitude,longitude pairs of a 1×1 degree grid.
area.sh:
for x in `seq -89.5 89.5`; do for y in `seq -179.5 179.5`; do echo $x $y; done; done | awk '
function r(x) { return x*atan2(0,-1)/180 } {
e=0.08182; printf "%20.8f\n", (6378137*r(1))^2*(1-e^2)*cos(r($1))/(1-e^2*sin(r($1))^2)^2
}' | awk '{ S += $1; } END { printf "%.4f\n", S }'
> bash area.sh
510072131344033.4375
The number 510,072,131.34 km² is too close to 510,072,000 km² to be a coincidence, I think. Either way, their number is wrong 🙂