Dark Sky Planner
Find the best moonless nights for stargazing, telescope observing, and astrophotography.
Dark Sky Planner checks moonrise, moonset, Moon illumination, sunset, and astronomical twilight for your location so you can plan darker observing sessions.
How it works
Dark Sky Planner calculates sunset, astronomical twilight, moonrise, and moonset for your specific coordinates — these times vary by location, so results are tailored to your observing site rather than based on moon phase alone. Each night in your date range is checked against three things: whether it falls on one of your selected days of the week, whether a valid observing window exists between your chosen start and end, and whether Moon conditions meet your moon rule during that window.
Nights that pass all three checks are rated Best if the Moon stays below the horizon for the entire window, or Usable if the Moon is above the horizon but its illumination stays at or below your threshold. Nights that fail any check are Excluded.
Selecting a location
Search by city, town, or ZIP code to find your observing site — results come from OpenStreetMap Nominatim. If your site is in a remote area without a searchable name, use the map picker to drop a pin at exact coordinates. You can also click to use your device's GPS position if you are already at your observing site.
Once a location is selected, location name, timezone, latitude, and longitude are filled in automatically. All four fields can also be entered or adjusted manually — the search and map methods are simply faster. The location name appears on the report but does not affect calculations; latitude, longitude, and timezone drive all astronomical computations.
If you're planning a trip, verify the timezone matches your destination — all window times and dates are interpreted in the site's local timezone.
Setting your observing window
The window defines the time span evaluated each night. The start can be a solar event — Sunset, Civil Dusk (Sun 6° below the horizon), Nautical Dusk (Sun 12° below), or Astronomical Dusk (Sun 18° below) — or a fixed clock time. The end is set the same way, using Astronomical Dawn, Nautical Dawn, Civil Dawn, Sunrise, or a fixed time.
The planner evaluates Moon conditions only within your window. A Moon that rises after your window ends, or sets before it begins, has no effect on the rating.
At high latitudes, the Sun may not dip far enough below the horizon for twilight events like Astronomical Dusk to occur on every date in your range — particularly in summer months. When that happens, nights are excluded because the window boundary cannot be established. If you are observing at a high latitude, consider using a fixed time for your window start and end to avoid this.
Moon rules
Moon below horizon or under illumination threshold — a night qualifies if the Moon is below the horizon for the full window, or if it is above the horizon but its peak illumination during the window stays at or below your threshold. This allows some nights when a low-illumination Moon is technically above the horizon.
Moon below horizon only — a night qualifies only if the Moon is entirely below the horizon for the full window. Any moonrise during the window causes the night to be excluded.
The illumination threshold only applies to the first rule. A lower value is more restrictive — fewer nights qualify. A higher value is more permissive — more nights qualify, including some with a partially lit Moon above the horizon. A threshold of 10–20% suits most visual observers; astrophotographers targeting faint objects often want stricter limits.
Tips
- Astronomical Dusk marks when the Sun is 18° below the horizon — the standard definition of astronomical night. If you want to ensure full darkness before your window begins, this is the appropriate window start.
- Use the day filter to focus the report on nights you can actually use. Filtering to Friday and Saturday, for example, removes weeknight results that don't fit your schedule.
- Use the map picker when your observing site doesn't have a searchable name, or when you want to enter precise coordinates rather than a city center.
- Use it for visual astronomy, telescope observing, dark sky trips, and astrophotography planning.
- Enable Show excluded dates on the report to see each excluded night alongside the reason it didn't qualify — useful when you expect a date to appear but it doesn't.
- The report URL encodes all your inputs — bookmark it or share it to revisit the exact same plan.
API access
Dark Sky Planner exposes a /plan endpoint that returns plan results as JSON, making it possible to query observing plans programmatically — for example, to integrate dark sky date calculations into a script or application. Use GET /plan?format=json with query parameters, or POST /plan with a JSON request body. See the API documentation for full details.
What Dark Sky Planner Calculates
- Moonrise and moonset during your observing window
- Whether the Moon is below the horizon
- Maximum Moon illumination while the Moon is up
- Sunset, sunrise, astronomical dusk and astronomical dawn
- Best and usable dark sky dates for your selected days of the week
When is the Moon below the horizon tonight?
Choose your observing site and tonight's date to see whether the Moon stays below the horizon during your selected night-sky window.
What are the best nights for stargazing this month?
Set a month-long date range, pick the weekdays you can observe, and the planner will list the best moonless dates first.
How does Moon illumination affect astrophotography?
Low Moon illumination can make some nights usable even when the Moon is above the horizon, while stricter deep-sky sessions may require a fully moonless window.