Noctography

Noctography is a free planner for nightscape and landscape astrophotography. It answers two questions: is tonight worth going out for, and what should you point the camera at.

It needs JavaScript, because every calculation happens on your own device rather than on a server: sun and moon positions, the astronomical darkness window, real-world Bortle sky darkness, meteor rates, aurora thresholds, star trail geometry, NPF exposure limits and satellite passes.

The tools are Tonight, a fifteen-night forecast grid, Aurora, Meteors, Trails and timelapse planning, Sky with a framing view, a live AR overlay on the phone camera, a panorama calculator, and a saved kit profile.

Read what it does, and the common questions, on the Noctography home page.

Noctography
Noctography Paul Haworth Nightscapes

{{ shareNote }}

Where are you shooting
Favourites

{{ greeting }}

{{ greetLine }}

Together tonight {{ conjCount }}
{{ cj.pair }} {{ cj.sepText }} {{ cj.closeness }}
{{ cj.when }} {{ cj.note }}

{{ conjFoot }}

Cloud {{ tonCloudNote }}

{{ nlcLabel }} {{ nlcLine }}

{{ nlcDetail }}

Noctilucent cloud is ice that's about 83 km up, far above normal weather, lit by sunlight long after the ground is dark. It only forms when the summer mesosphere turns cold, which is typically only in the Summer months. They cannot be reliably forecast: this flag tells you when and where they would be visible if they have formed, not that they have. Radar echoes and cold-mesosphere signals available on some websites can correlate with sightings, but not always. Follow relevant social media groups or keep an eye on things yourself to really see what's going on.

Displays that fade in the evening can often come back before dawn, as the cloud drifts back out of the Earth's shadow. Worth staying up for, or setting an alarm.

Best window tonight
{{ bestRange }}

{{ bestSub }}

Worth a drive tonight?

{{ nearbyResultLine }}

Rings are drive times; the wash is cloud through the dark hours. {{ nbMapEl }}
0% cloud100%
{{ nbAtLine }} {{ nbCredit }}

{{ nearbyFoot }}

Mist {{ fogLine }}

Cloud cover
{{ cloudVal }} {{ cloudSub }}
{{ rainLabel }} {{ rainVal }} {{ rainSub }}
Air {{ airVal }} {{ airSub }}
Wind {{ windVal }} {{ windSub }}
Sun set / rise
{{ sunVal }} {{ sunSub }} Terrain {{ terSunLine }} {{ solLine }}
Moon
{{ moonVal }} {{ moonSub }} {{ moonDayLabel }} {{ moonDayLine }} Terrain {{ terMoonLine }} {{ lunLine }}
Darkness
{{ darkRange }} {{ darkSub }}
Real-world Bortle
{{ rwbVal }} {{ rwbSub }}
Airglow
{{ glowVal }} {{ glowNote }} {{ glowSub }} {{ glowPrimedLine }} {{ glowBlockLine }} {{ glowStormLine }}
Comet {{ cometName }} {{ cometNote }} {{ cometSub }} {{ cometFrame }} {{ m.t }} {{ cometAge }}
ISS {{ issVal }} {{ issSub }}
Starlink {{ slVal }} {{ slSub }}
Tide, {{ tideStationName }} UK&I
{{ tideDistLine }} {{ tideVal }} {{ tideTrend }} {{ tideTrendSub }} {{ tideSub }}

{{ tideInfoLine }}

What is airglow

Airglow is caused by the ionisation of gasses in the upper atmosphere. Green comes from oxygen in a thin layer around 95 km up, orange from hydroxyl just below it, and a deeper red from oxygen higher still. It is what the green and orange banding low in a wide nightscape usually is.

Its brightness typically follows the solar cycle, brighter around maximum. The number here is F10.7, the sun's radio output at 10.7 cm, measured daily at Penticton in Canada and used as the standard stand-in for the ultraviolet that drives the airglow chemistry. Today's reading is blended with the average over the last solar rotation, to take account of the build-up over time.

{{ glowMean }}

It tends to appear brighter near the horizon simply because you're looking through a greater thickness of atmosphere; overhead you see through about 10 km of it, while at 15° above the horizon your line of sight travels obliquely through four times as much.

Treat the number as a fuel gauge for the spell you are in, not a forecast for tonight.

It is mostly a camera phenomenon: grey at best to the eye, colour only in long or stacked exposures.

The 11-year solar cycle passed its peak in 2025, so High will get rarer between now and the next minimum around 2030.

Real-world Bortle

The light pollution atlas tells you what a site is like on a perfect moonless night. Real-world Bortle tells you what your sky might actually be like tonight, with the moon, the haze and light pollution bouncing off thin, high cloud all counted.

The main light pollution atlas underpinning the reading is a satellite-derived model rather than a measurement, so it cannot know about very localised light, for example individual security lights.

Only high cloud is treated as scattering town glow back down at you. Mid and low cloud have already blocked the sky behind them, so they count as blocking alone: on a night of thick low cloud this figure will read dark, and it should be read alongside the cloud figure rather than on its own.

Looking ahead

{{ aheadLead }}

Tonight is the highlighted column on the left. Scroll left for the last five nights, as they actually were; tap any date for the night in full.

For {{ wxPlace }}
{{ g.label }}
Rating {{ a.starsOn }} {{ a.starsOff }} Cloud {{ a.cloudLabel }} Rain {{ a.rainLabel }} {{ row.k }} {{ c.v }} Moon {{ a.moon }} Sky {{ a.sky }} Met {{ a.met }} Kp {{ a.kp }} Conj {{ a.conjSep }} {{ a.conjWho }} Sun ↑ {{ a.sunRise }} ↓ {{ a.sunSet }} Moon ↑ {{ a.moonRise }} ↓ {{ a.moonSet }}
{{ dayTag }}
{{ dayTitle }} {{ dayStarsOn }} {{ dayStarsOff }} {{ dayStarsWord }} {{ dayWindow }} {{ dayWindowSub }}

{{ dayCompare }}

Conj {{ dayConjLine }}

Across the night {{ detNote }} {{ cmpMsg }}

{{ cmpLine }}

% cloud {{ col.label }}
Models clear {{ c.v }}
{{ row.k }} {{ c.v }}
Each model's row is cloud cover, lower is better. Models clear counts how many have that time under 35% cloud: 3/4 is three models of four. The table below follows {{ wxName }}.
{{ col.label }}
{{ row.k }} {{ c.v }}
Rating: the night out of five: clear sky first, then how dark the site is, then whether anything special is going on. Cloud: how much of the sky is covered by cloud, so lower is better. Green is under 35%, amber up to 70%, grey above. Sky: real-world Bortle, your location with that night's moon and haze counted in. Met: realistic meteors an hour at their best. Kp: aurora strength, 5 and up is worth watching. Conj: the closest two of Mercury, Venus, Mars, Jupiter, Saturn and the moon, when they come within 5° of each other and both stand at least 5° up in a dark or nearly dark sky. Initials name the pair, and a + means another pairing that night. Amber is inside 2°. Sun and Moon: rise on the top line, marked with an up arrow, and set below it, marked with a down arrow. These are the times for the calendar date in the column heading, midnight to midnight, as an almanac quotes them. The hours of the night itself are the Stars row.
Eclipses ahead {{ e.line }}
{{ calTitle }}
{{ d.label }}
{{ calSelTitle }}
{{ calSelMoon }} {{ calSelSun }} {{ calSelDark }} {{ calSelLine }}

{{ calGridFoot }}

Day {{ calColA }} {{ calColB }}
{{ r.day }} {{ r.sub }} {{ r.a }} {{ r.b }} {{ r.note }}

{{ calFoot }}

Aurora tonight

{{ aurHead }}

{{ aurSub }}

Cloud {{ aurCloudNote }}

{{ aurMetaLine }}

Ten nights like tonight
{{ aurTenColour }}: colour on a long exposure at some point in the night {{ aurTenFaint }}: a grey smudge at best, nothing spectacular {{ aurTenNone }}: nothing at all, all night
Magnetic disturbance against what you need
{{ bl.label }} now arrives
{{ tk.label }}
measured, what the sky is doing now {{ aurArrLegend }} forecast, with uncertainty indicated by the shading

{{ aurThreshNote }}

{{ aurBestLine }}

{{ aurEyeLine }}

The chart shows measured data right now, what's confirmed as on its way and lower-confidence “forecasts” for further out.

Up to and including now is from GFZ's half-hourly Hp30, a measurement of how disturbed the earth's magnetic field actually is.

Hp30 steps in thirds, like Kp, so a genuine build arrives as a staircase rather than a smooth ramp. The direction is therefore read across the last two hours rather than off the last pair of readings, which means it is deliberately slow to call a change: better late than confidently wrong.

After that, the line hands over gradually to NOAA's Kp forecast, issued in three-hour blocks. Confidence decays rapidly over time. NOAA's own checking shows that forecast tends to over-call moderate nights (i.e. it tends to disappoint), which is why the far end is drawn as a wide band, indicating the uncertainty.

The chance itself is worked out for where you are standing or the location you've selected. It folds in how far the band would have to stretch to reach you, how high it would stand above your horizon, moonlight from the published sky-brightness model, the cloud forecast over that part of the sky, and the light pollution towards the poleward horizon rather than overhead.

The answer is always one of five words, in this order: unlikely, possible, very possible, likely, very likely. Nights after tonight stop at very possible, and anything from the 27-day outlook stops at possible, reflecting increasing uncertainty. I very nearly didn't include an aurora section in Noctography because of the risks of disappointing people.

It's important to note that this isn't a sophisticated aurora-chasing forecast. Hardcore chasers use their own methodology from the underlying data or use dedicated apps like Norlys or Glendale. You can also sign up to social media groups like Facebook's AUK – Aurora UK to get regular updates from people who really understand these things. The purpose of this forecast is to give generalist nightscape photographers a heads up that their night might be about to get better.

Right now
{{ aurCoupleLabel }}

{{ aurCoupleLine }}

Measured here {{ aurHpTag }} {{ aurHpStamp }}
{{ aurHpVal }} {{ aurHpArrow }} {{ aurHpTrend }}
{{ aurHpLine }} {{ aurHpSource }}
On its way {{ aurArrive }}
Bz {{ aurBz }} nT {{ aurSpeed }} km/s
{{ aurBzArrow }} {{ aurBzTrendWord }}
{{ aurBzLine }}
N S
3 hours ago reached us newest

Below the line is south, which is what you want. Faded bars are still on their way.

{{ aurLoadLine }}

The spacecraft feed has gone quiet. These are the last numbers that arrived, not the current ones.

Two things are considered here.

The first is the wind arriving from the sun, measured by spacecraft between us and the sun. When the wind's magnetic field points south it connects with ours and energy pours in. That is the push that sets things up.

The second is how the earth's magnetic field is responding, measured by magnetic observatories on the ground and reported as one number for the whole planet.

The app attempts to combine both readings to provide an indication of likelihood of aurora activity.

Live observations

{{ sightPrompt }}

What showed
And it also had
{{ sightMarksHint }}
How high it stood
Put it on the shared map {{ sightShareFoot }} {{ sightObserverLine }}
{{ sightFoot }}
{{ sgtMapEl }}
{{ sgtHint }}
{{ sgtSelWho }} Regular observer
{{ sgtStackLine }}
{{ sgtSelWhat }} {{ sgtSelWhen }}

{{ sgtSelNote }}

Conditions where they stood {{ r.k }} {{ r.v }}

{{ sgtSelDoubt }}

{{ sgtTimeLabel }} {{ sgtHpLabel }}
{{ sgtFromLabel }} {{ sgtToLabel }}

{{ sgtHpLine }}

{{ sgtCountLine }}

What the pins mean
{{ k.label }}
{{ sgtKeyFoot }}
{{ sgtFoot }}
{{ r.when }}
{{ r.saw }} {{ r.said }} {{ r.note }}
Send the log to Paul {{ sightSendFoot }}
What it takes from here
Camera Eye Overhead
{{ aurLevelLabel }} now
On camera {{ aurCamWord }} tonight {{ aurCamHp }} To your eye {{ aurEyeWord }} tonight {{ aurEyeHp }} Overhead {{ aurOverWord }} {{ aurOverHp }}

{{ aurMagLine }}

Aurora sits in a ring around the magnetic pole. The ring swells outward as things get more disturbed, so what matters is not your latitude on a map but your magnetic latitude, and how far the ring has to stretch to reach you.

Those figures are that sum, run for where you are standing.

A camera sees five to ten times fainter than a dark-adapted eye, and the eye cannot see colour at these levels at all. This graph attempts to model when something is only likely to be visible on camera and when it might show up by eye, at your location and in your conditions.

This is a model, not a strict forecast. Take it with a pinch of salt.

Your sky tonight
{{ aurSkyLabel }} {{ aurCloud }} {{ aurCloudSub }} Moon {{ aurMoon }} {{ aurMoonSub }} Dark {{ aurDarkAt }} {{ aurDarkSub }}

{{ aurSkyLine }}

{{ aurSkylineEl }}

{{ aurHorizonLabel }}: {{ aurHorizonLine }}

The cloud figure is taken over the patch of sky where the arc would actually be, half a degree to a degree {{ aurPoleWord }} of you, rather than over your head. Cloud above you is irrelevant if the poleward part of the sky is clear.

{{ aurDampLine }}

The panorama above is your own skyline in the poleward direction, with the light pollution this place has washed in behind it.

The nights after this one
{{ ni.day }} {{ ni.word }} {{ ni.watchLabel }} {{ ni.watchLine }}

{{ aurRecLine }}

These come from NOAA's Kp forecast. A night only reads as likely when the number, the geometry, the darkness and the cloud all agree.

A watch means forecasters have seen a coronal mass ejection, or CME, leave the sun and expect it here on that date. A CME is a billion tonnes of the sun's atmosphere thrown outwards, and it takes one to three days to cross to us. Arrival routinely slips six to twelve hours, so a watch shows on both nights it could touch, and its size stays unknown until it reaches the spacecraft and its field can be measured. Arriving pointing north, the whole thing can fizzle.

This is not a sophisticated aurora-chasing forecast. Check live reports from people in the field before you drive.

Meteor outlook

{{ ribbonTitle }}

{{ c.k }} {{ c.v }}
{{ ribbonRead }}
DARK 00:00 DAWN
{{ ribbonEl }}
{{ scrollHint }}
Meteor rate Moon up, left edge Cloud, right edge Twilight

{{ nightTitle }}

{{ nightSub }}

Cloud {{ metCloudNote }}

Where these numbers come from

The headline figure is meteors an hour you could realistically expect to see. One relation is evaluated every 15 minutes through the night, separately for every active shower and the sporadic background.

rate = ZHR(t) × sin(h) × r^(lm − 6.5) × clear × 0.75

ZHR(t) is the shower's strength at this point in its cycle. sin(h) is the radiant altitude, tapered below 8° for extinction and terrain. r is the population index, an exponent, which is why one lost magnitude of sky darkness roughly halves the rate.

Limiting magnitude is built in linear brightness units: an airglow floor at 22.0, artificial ground light from the light pollution atlas, twilight, then moonlight from the Krisciunas & Schaefer (1991) model with Kasten & Young airmass. Thin cloud counts twice: it hides part of the sky and scatters light pollution and moonlight back down, so the same 60% high cloud costs about a magnitude at Bortle 5. Humidity above 65% adds haze. Everything is scaled by 0.75, since ZHR assumes a perfect observer watching the whole sky at once. We might tell our children we have eyes in the back of our head, but we know it's not really true.

Shower parameters are hand-encoded from the International Meteor Organization's calendar and working list. Cloud, humidity, temperature and dew point come from Open-Meteo, interpolated between hourly samples. Sky darkness comes from David Lorenz's 2025 light pollution atlas, baked into the app. Beyond 16 days the cloud figure is what this place typically does at that time of year, averaged over three years and a ±3 day window: useful for choosing a week.

{{ s.k }} {{ s.v }} {{ s.s }}
{{ chartEl }}
Meteor rate, left axis Moon altitude, right axis Shower radiant altitude, right axis
Capturing images

{{ camLine }}

{{ airLine }}

{{ sw.verdict }}

{{ b.k }} {{ b.note }}
{{ m.k }} {{ m.v }}

{{ sw.facts }}

Star trails

{{ trailsHead }}

{{ trailsSub }}

Tonight, for trails
{{ trailDark }} {{ trailDarkSub }}
{{ trailMoonLine }}

{{ trailCloudLabel }} {{ trailCloudLine }}

Choose the pattern
How long for a given trail
{{ trailLenKit }} {{ trailLenVal }} {{ trailLenSub }}

The sky turns 15° an hour. A star's speed across the frame is that times the cosine of its declination, so stars near the pole crawl and stars on the equator race. Trail length is speed times time, read against your lens's field of view.

Change the lens or the body on the Kit tab and this number moves with it.

{{ tKind }}

{{ tName }}

{{ tDetail }}

{{ tSpanLabel }}
{{ tArc }} {{ tArcWord }}
{{ tArcLine }}
Tonight's session
{{ tRange }} {{ tSpare }}
{{ tDarkFrom }} {{ tDarkTo }}
{{ f.text }}
Timelapse from the same frames

One run of frames, two finished pieces: stack them for the trail, play them in order for the timelapse. Pick how long you want the timelapse and the shutter speed follows.

{{ tlExp }} shutter
{{ tlInterval }} {{ tlGapSub }}
{{ tlFrames }} frames
{{ tlVerdict }}

A timelapse runs at 24 frames a second, so a {{ tlFilmWord }} timelapse needs {{ tlFrames }} frames. Spread those across the session and you have the interval; take the gap between exposures off it and you have the shutter speed.

Your kit holds points for {{ tlClean }} pointed here. Below that the timelapse has point stars; above it each frame trails a little on its own, which the stack does not mind and the timelapse shows as short dashes. {{ tlCleanFilm }}

Log

{{ logTitle }}

{{ logSub }}

{{ bkDue }} It keeps them safe if this phone is lost or cleared.
{{ compMapEl }}
{{ compMapCredit }}
{{ compsRadiusLabel }}

{{ compsEmptyLine }}

The last thing you wrote could not be saved: this browser is out of room, or it is refusing to store anything. Copy the log out now, before you lose it.

The night, as it was {{ logCondStamp }}
{{ c.label }} {{ c.value }}
Say something about tonight {{ logNoteSaved }}
This night, so far {{ logShotCount }}
{{ sh.time }} {{ sh.typeLine }} {{ sh.stateLabel }}

{{ sh.desc }}

{{ sh.skyLine }} {{ sh.foreLine }} {{ sh.extraLine }}

Nothing written for this night yet.

{{ logCalMonth }}
{{ w.label }}

Nothing written this month.

Getting a copy out

{{ logExportLine }}

{{ logToast }}

{{ logBackupLine }}

{{ logStepKicker }} {{ logStepStamp }}
{{ logStepCount }}

{{ logStepTitle }}

{{ logStepSub }}

{{ fd.label }}
{{ r.label }} {{ r.value }}
Anything else about this shot

Saved as you go. Walk away at any point and the shot keeps its time.

Kit

What you are shooting with.

Your kit feeds through to the rest of the app.

{{ row.label }}
{{ row.customLead }} {{ row.customUnit }}
{{ row.keptNote }}
What that comes to {{ kitProfileLine }} {{ kitFovLine }}
Points or trails

Pin-sharp: no trailing at all. Relaxed: none you would notice in a normal print.

Points Trails
{{ npfTick }} {{ ruleTick }}
Longest clean exposure
{{ npfSecs }} {{ npfWord }}
{{ npfLine }}
{{ tolLine }}
Where these numbers came from
t = (35 × N + 30 × p) ÷ f

The NPF rule uses aperture and pixel pitch, which is why it lands so far from 500 ÷ focal length on a dense sensor. Both rules assume the worst case, a star on the celestial equator moving at the full 15° an hour.

In the framing view, where the app knows what you are pointing at, it uses the fastest star actually in your frame instead. Near the pole that is worth a stop or more, for nothing.

It is a model of acceptable blur, not a law. Print big or pixel-peep and you will want the pin-sharp figure or less.

From Sky AR
{{ panoFromCount }} {{ panoFromShape }}
{{ l.t }} Counted with the lens and overlap below.
Place

Your selected location

Refine location
{{ pinEl }} Reading the atlas…
{{ pinWheelHintLine }}
{{ cloudWaitHead }} {{ cloudWaitSub }}
{{ cloudWhen }} {{ cloudRel }}
SkyMoonCoreCloud
{{ pinCoord }} {{ pinCredit }}
{{ pinMovedLine }}
{{ mapBortle }} {{ mapSqm }}
At the crosshair · {{ mapCoord }}
B1 B9
{{ mapLayerNote }} {{ mapDeltaLine }}
{{ cloudBestLine }}
Clear Overcast
{{ cloudGridLine }}
Your skyline
{{ hzStatusLine }}
{{ hzScaleLine }} Ground In the way
{{ skylineEl }}
{{ hzGlowLine }} Light pollution as on a clear, moonless night. Nothing to draw here yet. {{ hzDriftLine }}
Eclipses
{{ eclSelTitle }} {{ eclSelDate }}
{{ eclSelLead }}
{{ g.k }} {{ g.v }}
{{ eclMapEl }} {{ eclMapCredit }}
{{ eclMapNote }}
{{ eclTapHead }} {{ l.t }}
{{ eclFsNote }}
{{ eclSelSafe }}
{{ c.name }} {{ c.time }} {{ c.where }}
{{ f.line }}
{{ eclToolsHead }}
{{ eclShotsLine }}
{{ x.time }}{{ x.filter }}{{ x.exp }}
Spoken prompts
Seconds from that moment: minus is before. The same prompts play in Sky AR.
{{ eclRunHead }} {{ eclRunCount }} {{ eclRunNext }} {{ eclRunClock }}
More

Constantly being updated

The tools I use in the field, still growing. If something is wrong, broken or missing, tell me through Feedback.

Sync between devices

{{ syLead }}

{{ syStatus }}
On the other device, open Noctography from its home screen, go to More, Sync between devices, and type this under Enter a code: {{ syCode }} {{ syCodeNote }}
Enter a code {{ syJoinLead }}
{{ syJoinErr }}
Colour scheme Night vision, on the bar at the bottom, overrides it.
Layout {{ layoutNote }}
Your own copy

Held on this device only. Back it up here.

{{ bkCount }}
{{ bkMsg }} {{ bkErr }} A zip of ordinary photographs and files. Restoring only adds.
Phone check

Ten seconds that show how this phone and browser handle Sky AR and Scout. It asks for motion and the camera. Nothing is sent unless you choose to send it.

Email it to me
{{ pcStep }} {{ pcErr }} {{ pcSummary }}
{{ r.k }} {{ r.v }} {{ r.note }}
This browser would not copy it. Press and hold the text below, choose Select all, then Copy.
{{ pcText }}
{{ verLine }}
{{ b.v }} {{ b.when }}
{{ b.title }}

{{ i.text }}

{{ b.foot }}

Feedback

Help shape Noctography

Noctography is a passion project. I am not a software engineer and while I try to test each release in as many different environments and on as many devices as I can, things are going to slip through because I'm only human (some would even question that...).

If you spot something that doesn't seem to be working correctly, or which you just find difficult to use, please let me know. I'll fix whatever I can. If you have any ideas that would make Noctography better for you, please don't be shy: Noctography is for the whole astro community and you could help fashion its future.

What would you like to do?

Start with what you're trying to do. Knowing the why, and where it fits in your night, helps me build the right thing.

When does it come up?Pick any that fit.
Which part of Noctography is it closest to?Optional.
What sort of problem?
Where in the app?Pick one if you know.
How often does it happen?
Run the diagnostic

It takes about ten seconds and records how your phone and browser handle the app, which helps me pinpoint the problem and fix it, usually without needing to come back to you with questions. The results go into your email, so you can see exactly what is sent.

{{ pcStep }} {{ pcErr }} Diagnostic done: {{ pcSummary }}. It goes in the email.
{{ r.k }} {{ r.v }} {{ r.note }}
Where in the app?Optional.
{{ fbMissing }}
Write the email
Write the email opens your mail app with all of this in it, addressed to me. Nothing is sent until you press send there. It is copied as well, in case your mail app leaves anything out. This browser would not copy it, so here it is to select by hand and send to feedback@noctography.net.
{{ fbAll }}
Thank you. Once it has gone from your mail app, you can clear the form. If nothing opened, copy it and email it to feedback@noctography.net.
Something else? Email me directly
Credits and privacy

Where it all comes from

In addition to the providers of the data sources listed below, I am grateful to the many people who have given up their time to test and provide feedback on various elements of this app. Thanks guys, this wouldn't have been possible without your diligence, patience and encouragement. You know who you are.

With particular thanks to: Paul Clark, Martin Fransson, Jeroen Linnenkamp, Matej Mlakar, Dafydd Wyn Morgan, Henry Page and Raymond Kamstra.

Live feeds
Open-Meteo forecast open-meteo.com Cloud in three layers, temperature, dew point, humidity, wind and gusts. Hourly, 16 days out. CC BY 4.0. Open-Meteo historical weather, ERA5 archive-api.open-meteo.com Typical cloud beyond the 16 day forecast, from three previous years. Photon, by Komoot photon.komoot.io Place search, tried first. Built on OpenStreetMap data, ODbL. Open-Meteo geocoding geocoding-api.open-meteo.com Place search fallback, when Photon does not answer. OpenStreetMap openstreetmap.org/copyright Place names and geometry behind the search, and the Detail layer on the maps. © OpenStreetMap contributors, ODbL 1.0. Esri basemaps server.arcgisonline.com The Map and Satellite layers on Place, and the imagery behind Refine location. Esri, HERE, Garmin, Maxar, Earthstar Geographics. AWS Terrain Tiles elevation elevation-tiles-prod.s3.amazonaws.com The ground behind Your skyline, the landscape in the framing view, and the height at the pin. Roughly 30 m. Mapzen and Nextzen, from USGS 3DEP, SRTM, CDEM, EU-DEM, ArcticDEM and GEBCO. d3-celestial star catalogue cdn.jsdelivr.net/gh/ofrohn/d3-celestial The star map: stars to magnitude 6 from the HYG catalogue, constellation figures, IAU boundaries and names. Olaf Frohn, BSD licence. Fetched once, only when you switch a layer on. COBS, Comet OBServation database cobs.si Which comets are up, and what observers measured over the last fortnight: magnitude, coma and tail. Observatory Crni Vrh, free to use with credit. NOAA SWPC, planetary K index services.swpc.noaa.gov Kp forecast for tonight and the ten-night outlook. Public domain. NOAA SWPC, real-time solar wind services.swpc.noaa.gov/json/rtsw Field strength, Bz and wind speed at L1, every minute. Drives the aurora trace and the Bz pane. NOAA OVATION aurora model services.swpc.noaa.gov Visible-aurora probability on a one degree grid, 30 to 90 minutes ahead. Behind camera against naked eye. NOAA SWPC, alerts and watches services.swpc.noaa.gov/products/alerts.json The G-level storm badge and CME watches. NOAA SWPC, 27-day outlook services.swpc.noaa.gov Largest expected Kp per day for 27 days. The recurrence line. GFZ Hp30 kp.gfz.de Half-hourly geomagnetic index, uncapped. The measured end of the aurora chart, through a relay of mine. GFZ Helmholtz Centre for Geosciences, CC BY 4.0. TLE API tle.ivanstanojevic.me Orbital elements for the station. Same US Space Force data, served with the header a browser needs. CelesTrak celestrak.org Elements for the station and for launches in the last thirty days. Dr T.S. Kelso's service. Environment Agency tide gauges environment.data.gov.uk Measured water level, and a month of past readings, from the nearest of 43 National Tide Gauge Network stations. Both the level and the predicted times come from this. Open Government Licence.
Sky brightness and showers AR sky imagery Published models and type
Sky AR: ground, imagery and maps Imagery © Esri, Vantor, Earthstar Geographics, powered by Esri · Terrain: Mapterhorn (national surveys, open licences), Mapzen Terrarium · Map © OpenStreetMap contributors Trees and buildings, where they are drawn, come from national LIDAR and elevation services: Environment Agency, Scottish Government, IGN France, IGN España, Natural Resources Canada, Rijkswaterstaat, Geobasis NRW, Digitaal Vlaanderen, swisstopo, Klimadatastyrelsen, Lantmäteriet, Kartverket, Toitū Te Whenua LINZ, Spatial Services NSW, State of Queensland, Maanmittauslaitos and USGS 3DEP. Elsewhere, canopy height © Meta and WRI, and buildings © Overture Maps Foundation (from OpenStreetMap, Microsoft, Google and Esri Community Maps). Hα: Finkbeiner (2003), with sharper surveys via CDS.
Eclipses Eclipse Predictions by Fred Espenak, NASA’s GSFC Besselian elements for every solar eclipse from 1999 to 2100, from the Five Millennium Canon of Solar Eclipses. Lunar eclipses are worked out on your device and checked against NASA’s catalogue. The Moon and the Sun Moon: NASA SVS CGI Moon Kit, LRO LROC and LOLA · close-ups in eclipses: Gregory H. Revera, CC BY-SA 3.0 · Sun: NASA/SDO and the HMI science team The Moon in Scout is drawn from NASA’s colour and height maps of the whole Moon, lit at the true phase and turned by libration. The Sun is SDO’s white-light view, warmed. Moonlight sky brightness Krisciunas & Schaefer 1991, PASP How much a given moon at a given altitude brightens the sky. Airmass Kasten & Young 1989, Applied Optics Keeps moonlight and extinction sane near the horizon. Orbit propagation SGP4 Satellite passes, run in the browser against the elements above. fonts.google.com Google Fonts Barlow, Cormorant Garamond, JetBrains Mono. SIL Open Font License.
Worked out on your device
Real-world Bortle The atlas value for your site, plus moonlight, haze from humidity and glow scattered back by cloud, at the zenith across the dark hours.
Your skyline The elevation data ray-cast out to 150 km with curvature and refraction, giving a real horizon, terrain rise and set times, and a shot window per subject.
Which satellite passes are named Only ones worth going outside for: the station at magnitude −1 and 20°, a Starlink train at 3.2 and 25°, and only within eight days of launch while the batch is still in a line.
High and low water Nobody publishes free UK tide predictions, so this works them out: a month of the gauge's own record fitted to the ten tidal constituents a month of record can separate, then run forward, renewed monthly. Expect a few minutes and a few centimetres against a published table. Heights are in the gauge's own datum, not chart datum. What no table predicts is surge: when the measured level and the prediction disagree, the difference is the weather. Coverage is the UK, Ireland, the Isle of Man and the Channel Islands; elsewhere the tile does not appear.
Mist and fog risk Fires when air near its dew point, near-still wind and a clear sky line up. Defers to the visibility forecast where there is one.
Eclipses From the same sun and moon positions as everything else, computed for your position rather than the centre of the Earth. Times to the nearest few minutes.
Looking ahead Ten nights ranked on clear sky, then real darkness, then what is overhead. Faded where cloud is climatology rather than forecast.
Light pollution around you The atlas sampled on sixteen bearings out to 150 km, near towns weighted more, then scaled by tonight's humidity and high cloud. My own weightings, not a published model.
Aurora geometry Kp to the equatorward limit of the oval by the published table, then your geomagnetic latitude by dipole. The photographed band sits 8° poleward of the limit, which is my number and the least settled one here.
Camera against naked eye One OVATION signal, two thresholds, about 12% and 42%, pushed up by moonlight, cloud in that direction and a brighter site. Starting guesses.
Bz trend Half-hour mean, the fraction of the hour below zero, and the length of the current run below −2. The dotted line is what is arriving now, from the distance to L1 over the measured wind speed.
Cloud in the direction that matters For aurora, the forecast is also fetched 55 and 110 km poleward and averaged over the dark hours.
Sun, moon and radiant positions Computed on your device, no third party library.
Privacy

Noctography has no server of its own, no account and no sign-in. I do not know who you are and I have not built anything that could tell me.

Three things leave your device. Your coordinates go to the feeds above so they can return a forecast, a place name or the ground under you: there is no way to ask for the weather where you are standing without saying where that is. Map tiles are fetched as you pan, so Esri and OpenStreetMap see roughly which patch of ground you are looking at. And the app counts usage with GoatCounter: a page view, which tab you opened, whether you added it to your home screen, and whether AR got the camera going. GoatCounter sets no cookies, stores no IP address and cannot follow anyone between sites; it derives a country and a browser from the request and discards the rest. Counts are per visit, not per tap.

Nothing else goes anywhere. Your saved places, your skyline and the obstructions you have drawn, your kit profile, your colour scheme and everything you type stay in this browser's own storage, on this device, and are never uploaded. The aurora probability grid is fetched whole and asked about your position here, so that one never leaves at all. The one-file copy of the app you can keep on a laptop reports nothing whatsoever.

The ethos, in one line: the app should know where you are only for as long as it takes to answer a question, and I should never know at all.

{{ copyrightLine }}

{{ takeoverLabel }}

{{ takeoverTitle }}

{{ takeoverBody }}

{{ b.text }}

{{ takeoverFoot }}

{{ takeoverCtaLabel }}
The full Moon sitting on the tip of the Shard, with St Paul's beside it
Noctography New in 3.1.0 Beta

Take the hassle out of planning

with Shotfinder
01Pick a target and pin a subject
02Twelve months searched in seconds
03See where to stand, clear of buildings and trees
04Tap a chance to stand in the shot in 3D
The full Moon on the Shard
20 May 2027 · 22:10 · 300mm
Noctography 3.1.0

Also new

{{ b.text }}

{{ fullScoutNote }}
Opening Scout
{{ arNoticeTitle }} {{ arNoticeBody }}
Composition saved {{ l.t }}
Saved without a calibrated compass, so the card and the stamp will say the bearing may be inaccurate. {{ compNewPlace }}
{{ arPanoCount }} {{ arPanoShape }}
{{ arPanoCover }}
Print
{{ arPanoProjLine }}
Overlap
{{ arPanoLensLine }}
{{ arPanoSaved }} {{ arPanoArchLine }}
Lens {{ arOpticLine }}
{{ arLensLine }}
Line up the horizon
Drag the amber line onto the real skyline. Tap the {{ arAlignWord }} on the screen. Never look at the sun itself: work from the screen.
compass {{ arCalNudge }} · {{ arHoldWord }} in the way {{ arCalSector }}
Compass offset {{ arNudgeLabel }}
Match the camera's field {{ arHfovLabel }}
Widen or narrow until a known star sits on the real one.
Exposure
Contrast
{{ skyHead }}
{{ skyPoorLine }}
{{ p.name }}
{{ p.why }} Behind your skyline
The arch {{ archBadge }}
{{ archTitle }} {{ archLine }}
{{ sEyebrow }} {{ sName }} {{ l.text }}
Through the night
{{ sFrom }} {{ sPeak }} {{ sTo }}
{{ sWhen }}
Shot window {{ swHead }} {{ swSub }}
Does it fit your lens {{ sFits }} {{ sFitsSub }}
Tonight's obstacles
{{ o.text }}
Saved compositions

Scouted, and waiting for a night

Nothing saved yet. In Sky AR, find a picture in the landscape, scrub the clock to the moment the sky lines up with it, and press the amber button. The frame, the aim, the lens and the night are kept together, and the app will tell you every future night the same sky comes round.

{{ g.place }} {{ g.coord }}

These live on this phone only. Keep Noctography on the home screen, or iOS may clear them after a week unopened, and save a copy of everything from the More tab now and again.

{{ compD.stampName }} {{ compD.stamp1 }} {{ compD.stamp2 }} This composition was not calibrated and may be inaccurate.
That band is burned into the file when you save a copy out. {{ compD.countdown }}
{{ r.k }} {{ r.v }}
Note
{{ compD.walk }}
Same composition, different night.

{{ compD.stampName }}

Find other nights when this composition could work under good conditions.

How dark it has to be
Moonlight
{{ compMonthLabel }}
{{ w.d }}
{{ c.day }} {{ c.time }}
{{ compTally }}
Next nights that work
{{ m.date }} {{ m.moon }} {{ m.time }}

Nothing in the next year clears both filters. Loosen the moon rule, or take nautical twilight and accept a brighter sky.

{{ compStoreErr }}

{{ compToastMsg }}