Stack your night. Keep it private.
Make star trails first, or switch to nightscape, deep sky, comet, planetary and calibration work when you need it. Nothing is installed or uploaded. Every frame is read on your own device. It runs in Safari, Chrome and Firefox, on a Mac as much as on Windows or Linux.
- Clean before stackingMoving straight tracks are compared between neighbouring frames.
- Six focused modesOnly the mode you choose is shown and run.
- Useful output16-bit pictures and signed FITS where the mode supports them.
380-frame Sony A7C star trail — stacked with this tool
Pick what you are making
See a demo of each → Every feature, with its evidence →The workspace keeps one stable shape and shows only the controls and file roles the selected result needs.






Stack a sequence
Start here Choose the picture or calibration master you want to make.
Add your frames Choose the files for your result. Nothing is uploaded.
Best on desktop for large RAW or FITS sessions — processing uses this device’s memory. You can still continue here.
Lights required for a picture
Using a Drive, OneDrive or Dropbox folder?
A Drive, OneDrive or Dropbox folder that syncs to this computer is just a folder — choose it like any other. If its files are kept online-only, the first read of each one waits for your sync app to fetch it, so the first minutes run at your network's speed rather than your computer's.
Calibration, masters and masks
Choose the role explicitly. Names and previews never move it to another bucket.
Flats
Bias
Dark-flats
Masters
Reference
Mask
Light means sky, dark means fixed ground, and anything between is a soft edge. Greyscale only — a colour cannot say which side of the boundary it means, so a coloured mask is refused rather than guessed at. Choose Sky region → Imported mask to use it; you can brush corrections onto it afterwards.
What the sample night is
Twelve exposures this page draws — a real star field turned at the real sidereal rate, 25 s each, 30 s apart. Not a photograph. Stacked by the same worker, on this device, with nothing uploaded.What you have given it
Read from each file's header before anything is decoded.
Check the settings Review the settings, then press Start when you are ready.
Resource plan transparent working size and admission ceiling
This changes only supported resource controls. Registration, rejection, calibration, masks, colour, tone and output type stay exactly as configured.
Waiting for measured source dimensions.
Local project settings and source identities, never source bytes
Save this session as a small JSON manifest. Reopening it restores the mode, settings and decisions, then requires the same files again by name, size, modified time, media and role. No path, image data or browser storage is included.
Nothing is stored. Export reads metadata only; Import reads the JSON you explicitly choose.
Compare a private plan with current Lights or a FITS sequence, locally
Choose one private SkyPlanV1 JSON file, then bind the current Lights or explicitly choose a FITS comparison sequence. Header timing and shape are read before any pixel decode. A FITS comparison never enters or starts the Star Trails stack. Photos, the plan and the receipt are not sent; one property-free completion event may be counted.
Optional override for comparison only. These files do not change the current Lights, processing roles or stack.
Used for naïve DateTimeOriginal and required for every FITS DATE-OBS sequence. It is never inferred from the device, location, filename, file time or FITS convention.
Select the relationship, one session/capture identity, and measured deltas with tolerances. Device clock, GPS and orientation are never inferred.
Nothing is bound. Files stay on this device and no stack is started.
Ready.
- Prepare
Read and calibrate the selected frames. - Survey
Compare neighbours when moving-line removal is enabled. - Build
Make the result once from the prepared frames.
From a folder to a finished night
See how it works →Choose the result
Pick trails, a fixed-ground nightscape, deep sky, comet, planetary or calibration. The workspace stays put.
Add and check files
Lights, calibration frames and masks have explicit places. Header checks happen before the expensive decode.
Press Start once
Nothing stacks on upload. The run names Prepare, Survey and Build, then gives you the picture and its receipt.
Your night, with the avoidable damage removed
Open the gallery →

Four tools, no app install
All planning tools →



Practical guides for the next clear night
All guides →Six modes, one session
What you can make with a folder of exposures
Each of these is a different question about the same night, and each says what it measured rather than handing back a picture and leaving you to trust it.
-
Star trails
The maximum at every pixel, after each frame's own sky background is equalised away. Click any pixel of the result and it names the frame that made it.
-
Nightscape
A fixed tripod: the sky is stacked while the ground stays a single sharp frame. The boundary is yours — proposed, drawn as a horizon, widened into a band, imported, or painted by hand.
-
Deep sky
Every included Light registered against a reference you choose, then integrated by mean, exact median or sigma-clipped mean. Out comes signed, unclamped 32-bit FITS as well as a picture.
-
Comet
Mark the nucleus on every frame and get three results: stars sharp, comet sharp, and the composite on one exact grid. Nothing about a nucleus is ever guessed for you.
-
Planetary
Rank the frames of a SER capture and lucky-stack the best of them — several fractions at once, because the right one is not knowable in advance. It finds the disc for you.
-
Calibration lab
Reusable dark, flat, bias and dark-flat masters from your RAW groups, previewed before and after with the signed difference between them, exported as Float32 FITS.
What it does before you touch a control
Every number this page shows was measured on your own files, before you were asked for anything. The three it is most often thanked for are below; the full list is under them, because nobody reads a wall of text until they have a reason to.
Aircraft and satellites
Compares neighbouring Lights before stacking, verifies the line at full resolution and lists every removal; one-frame meteors are lines too and are not silently given a different label. See what a removal changes.
Gaps between frames
The fill radius is computed from your interval, exposure and image scale — not offered as a slider. Why trails come out dotted.
What your lens does
Reads the measured coefficients for the lens your files name and reports the displacement in pixels. See the numbers for a 14 mm.
Faint structure
Separates the picture by scale, so detail can be lifted without lifting the noise it sits in. See it on a real telescope frame.
Whether drizzle helps
Measures how your frames landed inside the pixel, and says no when a bigger file is all it would buy. See a dithered set refused.
What it will not do
It declines, with the reason, wherever it cannot measure what you asked for. The refusals are listed further down this page rather than discovered at four in the morning.
Everything it measures before you touch a control
Every mode, in detail
- Star trails — and the aircraft search measured against somebody else's labels
- Nightscape — two products, and the foreground it will not invent
- Deep sky — three methods, and the eight-frame refusal
- Comet — where every scientific decision is yours
- Planetary — the header it reads first, and the three choices it insists on
- Calibration lab — the groups it will not mix
- Tells you what to shoot before it tells you what it did
- The gap between exposures is what ruins a star trail, not the exposure, and in-camera noise reduction is the usual culprit. The whole job, from the night to the finished file, is five steps. Your first star trail.
- Says which file types a real file has been through, and which only a fixture
- Code that accepts an extension is not the same as a file of that kind having been read, and the gap between the two is where people lose an evening. Every format carries which of the two is true — including the five RAW containers nothing has ever been read from. What it can read.
- Reads the interval, the exposure and the image scale out of your files
- So the gap-fill radius is computed, not guessed. Most tools ship it as a slider with no units; it is arithmetic, and the page shows you the arithmetic. Why trails come out dotted.
- Measures how far your sky drifted, and says so in your own units
- A night whose background moved twenty-five times its own noise is a night where a plain lighten stack keeps almost nothing; a steady four-sigma night is one where the difference is modest and you should be told that too. It is a fact about your sequence, and you get it before the download, not after.
- Equalises each frame's background before the blend
- The whole difference — and how much it is worth depends on your night, not on this page. Measured on three cameras, with the range and its limits.
- Leaves out the frames that would spoil it, before they are in
- Cloud and passing headlights raise a frame's whole background; those frames are found and set aside first, because a maximum cannot be undone once it is taken.
- Removes stuck sensor pixels, and does not touch your foreground
- A pixel bright in nearly every frame is a sensor defect that max turns into a permanent fake star. A whole treeline is also bright in every frame — so only small, isolated clusters are repaired.
- Finds natural satellite trails; aircraft stay reviewable and measured
- On five independently labelled crops from the licensed ASTA MeerLICHT corpus, it found all six satellite trails — thin, saturated, parallel and crossing — and none in the clean crop. The protective masks recovered 97.2–100% of labelled trail pixels; their 21.6–49.8% pixel precision is intentionally lower because the mask extends beyond the bright core. This small tracked-telescope benchmark validates detection and mask geometry, not the later star-arc repair. On two paths in a credited consecutive Yebes Observatory sequence, ordinary detection found 3/5 and 2/3 positions; sequence evidence rebuilt the first to 4/5 automatically and offered the missing position in the second as review-only, reaching 3/3 after an explicit Remove decision. Exact leave-one-Light-out checks matched all 3,273 and 5,376 masked RGB donor samples. This is still a small corpus: current blind spots include short tracks and one weak, sparsely dashed endpoint that remains missed. See what a removal actually changes, on one of those frames.
- Nothing is removed that cannot be repaired afterwards
- A star sits on any given pixel in exactly one frame, so masking that frame deletes the star from the result — on real tracked stars, masking one frame of thirty-eight took 22.8 of a 25.9 sigma peak away. The hole is closed again along the star's own arc, and a trail is only ever masked where that repair can reach. If it cannot reach, the trail is reported and left alone.
Stated, not buried
What it does not do
Every limit this tool has, named. A stacker that hides what it cannot do is a stacker you find out about at four in the morning with a night's frames already loaded.
Show every limit, in full
- Deep sky: what it integrates, and what comes out
- Deep sky registers every included Light before mean, exact median or sigma-clipped integration; sigma clipping requires at least eight Lights. Frame quality is shown, but only your explicit manual exclusions remove Lights. The downloads are a display-stretched 16-bit PNG and the same signed, unclamped integration as 32-bit Float32 FITS with R, G and B planes.
- Deep sky: what it refuses rather than guesses
- Deep sky accepts a homogeneous sequence of
.fit,.fitsor.ftsLights only after you explicitly confirm they are already calibrated scientific-linear data. They must be 2-D mono, an explicitly labelled R/G/B cube, or complete explicitly mapped mono R/G/B groups with matching geometry and BUNIT. Grouped components additionally require supported TAN WCS and a visitor-selected 1×–4× working size; no channel, reference or resource rung is inferred. CFA, BLANK samples, raster/RAW mixing and calibration or master roles are refused rather than guessed. Deep sky also refuses Reference and Mask inputs rather than ignoring them. Mean, Median and Sigma-clipped mean have no frame weights or per-pixel reason maps. The additive-normalised mapped path keeps contribution, rejection-count, rejection-reason and measured inverse-noise weight maps; RGB uses one luminance-derived spatial decision for all three channels rather than clipping colour channels independently, automatic quality cull or user-selected reference. The result reports the geometrically contributing-Light count and the common footprint; an optional common-overlap crop applies that one rectangle to the preview, PNG and FITS and is off by default. With the reference-sized default, pixels outside a registered frame are filled with zero and remain as dark non-overlap edges. RAW Lights need a readable survey preview, and exact median or sigma clipping can be refused when their retained frames do not fit the browser memory ceiling. - Comet: every nucleus is yours to mark
- Comet mode accepts one homogeneous JPEG, PNG, WebP or TIFF Light sequence, or a homogeneous sequence of explicitly confirmed, already-calibrated scientific-linear FITS Lights under the strict FITS intake contract. It measures every star warp, then requires you to mark the nucleus on every included Light and choose the shared reference. It produces separate star-aligned, comet-aligned and exact-grid composite results, each as a display 16-bit PNG and signed, unclamped Float32 FITS. No nucleus, inclusion, transform or composite mask is inferred.
- Comet: what it does not take yet
- Comet mode does not yet accept camera RAW Lights, calibration files, masters, imported references or masks. It does not rank planetary video or export video.
- Planetary, Nightscape, and where a desktop tool is still the answer
- Planetary accepts one uncompressed MONO, RGB or declared-BGR SER capture plus the named bounded AVI/DIB and AVI/MJPEG paths, requires an explicit ROI, reference and Best-X choice, measures bounded global translation and exports deterministic all-valid PNG/FITS crops. Local alignment points, wavelets, measured drizzle and Richardson-Lucy deconvolution are available where their evidence gates pass. General MP4, MOV, WebM, audio and arbitrary video codecs are not accepted or fetched. Nightscape is deliberately limited to a fixed tripod: its sky region can be proposed automatically, drawn as a straight horizon, supplied as an image, or corrected with a sky/ground brush after the first result, while its foreground remains unregistered. Some Windows-only desktop tools cover several broader cases and do them well, and that is the honest reason this exists rather than any claim to be cleverer today. What runs on a Mac, compared fairly.
- RAW: four classes refused by name
- Four RAW classes are refused by name rather than hidden behind “unsupported”: Nikon High Efficiency NEFs, already-demosaiced linear DNGs, Fujifilm GFX medium-format frames, and legacy Fujifilm SuperCCD files with rotated sensor geometry. The refusal names the next usable path. The decoder, and the source we publish for it.
- RAW: DNG evidence is deliberately bounded
- Five governed camera-written DNG samples have passed bounded Node pixel proof. Browser evidence covers one file at a time and refuses a single-frame run rather than implying multi-frame DNG stacking; support remains sample- and container-specific.
- Is this the “Startrails Stacker” sold on the Microsoft Store?
- No. That is a Windows application from another maker, with a similar name and a domain one hyphen from this one. This site is Star Trail Stacker: it runs in a browser tab on any desktop operating system, installs nothing, and is not affiliated with it. Which browsers it runs in.
- Where the work happens
- Your photographs are processed inside this browser tab and are not uploaded for stacking. Read the data boundary.
- Support
- Support is currently unavailable. The contact page records its current status.
Guides to the night you are shooting
Twenty-three guides, written from the same measurements this tool runs on. Every one of them says what was measured rather than what sounds right.
-
Star trails
-
Camera and lens
-
Milky Way and nightscapes
-
Deep sky, comet, planetary
-
The tool and your files
All 23 guides, grouped by subject

