FOV, pixel scale, altitude windows, moon phase & lunar separation for 150+ objects — all computed in your browser, nothing uploaded.
Positive = North/East · Negative = South/West
Bortle class affects the imaging score — faint objects score lower under bright skies.
Fill in your setup above and tap Calculate to plan your session.
All computation happens locally — no data leaves your device.
All astronomy math runs in JavaScript inside your browser — no server, no API key, no sign-up. Calculations are accurate to better than 1° for dates 2000–2040.
Your local datetime converts to UTC then Julian Date (JD). Local Sidereal Time (LST) uses GMST from the J2000 formula (280.46061837 + 360.98564736629 × (JD − 2451545)) adjusted for longitude.
RA/Dec → Hour Angle (HA = LST − RA). Spherical trig: sin(alt) = sin(φ)sin(δ) + cos(φ)cos(δ)cos(H). Azimuth from the full four-quadrant formula. Applied to every object + the Moon every 10 min over 24 h.
FOV (arcmin) = 3438 × sensor_mm ÷ focal_mm. Pixel scale (arcsec/px) = 206.265 × pixel_µm ÷ focal_mm. Sampling ratio = pixel_scale ÷ (FWHM_seeing / 2). Airy disk diameter = 2.44 × λ × f-ratio.
Illumination from the Moon–Sun ecliptic elongation (Meeus Ch. 48). Phase age uses a known new moon epoch (JD 2459198.177) and the 29.53059-day synodic period. Moon position uses the low-precision Meeus simplified series (8 longitude + 5 latitude terms).
Score 0–100 per object. Altitude contribution: below horizon = 0, <20° = 20, 20–45° = 60, >45° = 100. Moon penalty: illum × proximity factor (0 if >45° away). Bortle penalty: −5 per class above 4, applied to objects dimmer than mag 8.
For each top-scored object the tool scans tonight (dusk +30 min to dawn −30 min) in 10-min steps and finds the longest continuous window where altitude ≥ 30°. Displayed with start/end time and peak altitude.
Object catalog: J2000 epoch coordinates for all 110 Messier + ~50 selected Caldwell objects. No precession correction applied (error < 1° for 2000–2040).