JPL HORIZONS can do that.
With settings like these:
Ephemeris Type : OBSERVER
Target Body : Moon [Luna] [301]
Observer Location : Geocentric [500]
Time Span : Start=2019-09-12, Stop=2019-09-19, Step=1 d
Table Settings : QUANTITIES=10,23,24
it returns results like these:
Date__(UT)__HR:MN Illu% S-O-T /r S-T-O
***************************************************
2019-Sep-12 00:00 95.688 155.9731 /T 23.9640
2019-Sep-13 00:00 98.620 166.4750 /T 13.4888
2019-Sep-14 00:00 99.814 175.0444 /T 4.9422
2019-Sep-15 00:00 99.231 169.9061 /L 10.0670
2019-Sep-16 00:00 96.874 159.5743 /L 20.3723
2019-Sep-17 00:00 92.791 148.7668 /L 31.1541
2019-Sep-18 00:00 87.074 137.7510 /L 42.1469
2019-Sep-19 00:00 79.858 126.5419 /L 53.3370
where Illu%
is the illuminated fraction $k$, and S-T-O
is the sun-target-observer phase angle $i$.
These quantities are related by
(Meeus 41.1)
$$ k = \frac{1 + \cos i}{2} $$
An observer location on the surface of the Earth instead of the geocenter gives slightly different results due to parallax.
Tanner's rendered images appear to be indexed by the difference between lunar and solar ecliptic longitude.
The sun-observer-target elongation angle S-O-T
is a close approximation in most cases.
Where the /r
column is /T
for trailing, use that value directly.
Where /r
is /L
for leading, subtract S-O-T
from 360°.
A single cycle of Moon images cannot capture libration effects as the NASA SVS images do (see SpaceBread's answer), so Tanner's images look a little different from the actual Moon.