What went into this stack.
The five sky exposures are IMG_0433.CR2 through IMG_0437.CR2, photographed by Filippo Dall’Aglio (@flick87) and shared by Massimo Bill (@billznn) in a PIXLS.us discussion under CC BY-SA 4.0. The separately lit foreground frame, IMG_0431.CR2, and the author's processed JPEGs were excluded.
| Camera & lens | Canon EOS 700D · EF-S 18–55 mm f/3.5–5.6 IS at 18 mm. |
|---|---|
| Exposure | 15 s · f/3.5 · ISO 3200, for every frame. |
| Capture times | March 20, 2020, 00:23:12–00:25:20 in the camera metadata; 32 s between frame starts. The metadata does not establish a time zone. |
| RAW development | LibRaw 0.22.1 through rawpy 0.27.1, linear 16-bit RGB with sRGB primaries; automatic brightness disabled. The first frame's camera white balance was locked across the sequence: [1675, 1024, 2149, 1024]. |
| Common adjustments | Apply EXIF orientation; resize the developed 3476 × 5208 image in linear light to a 1068 × 1600 intermediate; apply a common +2 EV multiplier. The public teaching copies are then area-resized in linear light to 641 × 960 and encoded as sRGB. |
| Prepared files | 8-bit JPEG, quality 85, no chroma subsampling, with an embedded standard sRGB ICC profile. Five files, approximately 0.80 MB total, plus a project and license notes in the ZIP. |
| Deliberately omitted | No lens correction, denoising, sharpening, local contrast or automatic per-frame exposure adjustment. |
The browser beta does not decode Canon RAW. The downloadable JPEGs below are the actual prepared inputs used for this case; start with those to compare the same data. The original RAW download is linked from the source discussion if you want to make your own development; a different conversion will not be the same comparison. Read the conversion manifest and SHA-256 hashes.
Run it with the same files and settings.
- Download and extract the sample ZIP (0.80 MB). It contains five JPEGs named IMG_0433-srgb8-960.jpg through IMG_0437-srgb8-960.jpg. Keep those names. Do not edit or re-export them before this test.
- Use the helper below. Choose all five extracted JPEGs. When all five hashes match, click Download matching project. This creates a local project with the exact sample mask, adapted to your files' modification times.
- Open the stacker in desktop Chrome or Edge. Expand Save or open a project, choose Open project and select the matching JSON. Then use Choose photos to import those same five JPEGs. The project restores the mask, includes all five frames and selects IMG_0433 as the foreground/alignment reference.
- Check the restored mask. Green should cover about 55.14% of the image. The whole main tree canopy and the sky holes between its branches are excluded. Under Advanced settings, keep Automatic star alignment and Horizon blend: 12 px.
- Click Align & stack. In the recorded run, all five frames were used and none were rejected. Your browser may take longer; a different acceptance result needs inspection rather than an assumption that it matches this case.
- Inspect, then export. Use Check sharpness at 100% for the center, corners and horizon. Click Download TIFF — free during beta; under More exports, save Processing report. Check the downloaded TIFF in your editor too.

Mask illustration: photo by Filippo Dall’Aglio (@flick87), shared by Massimo Bill (@billznn), via PIXLS.us, CC BY-SA 4.0. Modified by common development, reduction, JPEG encoding and a green manual-mask overlay.
Prepare a project for your downloaded files.
A saved project checks file names, sizes and modification times. Downloads and ZIP extraction can change the times. This helper verifies these five public teaching JPEGs by SHA-256, then creates a copy of the sample project matching the files on your computer. It changes only their file identities; the reference, sky mask and blend settings remain the same.
File checking happens locally. The photos are not uploaded. This helper accepts only the exact public teaching files below, not your own photographs.
Choose IMG_0433-srgb8-960.jpg through IMG_0437-srgb8-960.jpg.
Manual fallback: mark a similar conservative sky mask
If a project is waiting for files that no longer match, use Clear sequence first. Import the five JPEGs, retain IMG_0433 as the foreground/reference, and choose the Horizon tool. Working left to right, click a boundary above the trees using the overlay as your guide, then Apply sky. Use the Eraser to keep branches and all canopy holes outside the green area.
The original trace used these approximate points, as percentages of image width and height measured from the top-left:
(0,48) (8,48) (16,54) (20,64) (29,64) (34,62) (37,58) (40,53) (48,50) (56,48) (65,47) (73,50) (82,56) (86,61) (91,66) (100,66)
Keep Horizon blend at 12 px. Manually clicking these points approximates the mask; it is not a pixel-identical reproduction because the saved case mask was resized from the earlier 1600-pixel preparation. Use the hash-checked matching project for the exact mask.
The actual run and exported result.
The actual run was completed through the live nightscapestacker.app workbench: import, project restore, local stacking, TIFF download and report download. The report is dated .
| Inputs & reference | Five 641 × 960 sRGB JPEGs. IMG_0433 supplies the foreground and alignment coordinates; IMG_0434–IMG_0437 are the four moving frames. |
|---|---|
| Included / used / rejected | 5 included · 5 used, including the reference · 0 rejected. No frame-rejection example is claimed. |
| Settings | Automatic star alignment · manual sky mask, 55.14% selected · 12 px horizon blend · minimum three safe samples per stacked pixel. |
| Browser & storage | Google Chrome 155.0.8059.39 on macOS; OPFS temporary storage. CPU and RAM were not recorded. |
| Recorded engine time | 2.02 seconds for this run's worker stacking, TIFF encoding and preview. This excludes RAW preparation, file import, selecting the mask/project and downloads. It is not total workflow time or a speed promise. |
| Export | 641 × 960, 16-bit sRGB RGB TIFF · 3,692,930 bytes. Download the actual TIFF in a ZIP (2.52 MB). |
| Retained foreground | A numeric comparison found the exported RGB samples outside the exact sky mask equal to the decoded reference in this case. The ground was retained, not denoised. |


What we see: the selected open sky looks smoother. Some upper-corner stars look broader, and the tree boundary retains a noisier collar with a visible texture transition. This output does not establish better star sharpness or a seamless tree edge. Check the matching crops below before deciding whether the trade-off suits your photo.
Both photos: Filippo Dall’Aglio (@flick87), shared by Massimo Bill (@billznn), via PIXLS.us, CC BY-SA 4.0. Changes: common development, reduction and JPEG preparation; the result additionally uses aligned sky averaging with a retained reference foreground. These are display copies of the actual input/output, with no separate post-stack exposure or color enhancement.
Download the complete processing report · Read the compact run summary, crop coordinates and TIFF hash
Inspect more than the center.
The pairs below use matching coordinates from the prepared reference and exported result. Open the full PNGs to inspect image pixels; a scaled page preview is not a sharpness test. The images shown on this page are 8-bit sRGB display copies. The downloadable stack is a 16-bit sRGB TIFF.
All crop pairs in this section: photographs by Filippo Dall’Aglio (@flick87), shared by Massimo Bill (@billznn), via PIXLS.us, CC BY-SA 4.0. Derived by the preparation and stacking described above, then cropped at matching coordinates. No local retouching or separate color adjustment was applied.
Center
x 230, y 390 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Mixed sky and tree boundary. Only about 52.8% of this crop is inside the sky mask; the rest retains the reference. Inspect the texture transition as well as the stars.


Top left
x 0, y 0 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Marked sky. The open background looks smoother, but some stars look broader in the result. This is not proof of improved corner sharpness.


Top right
x 461, y 0 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Marked sky. Inspect individual stars rather than judging only the lower background grain; some star profiles are visibly broader.


Bottom left
x 0, y 780 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Reference-only foreground, outside the mask. The display pixels are identical in this pair. This provides no evidence of star alignment.


Bottom right
x 461, y 780 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Reference-only foreground, outside the mask. The display pixels are identical in this pair. This provides no evidence of star alignment.


Horizon / tree edge
x 320, y 400 · 180 × 180 pixels of the prepared 641 × 960 image, with the origin at the top-left. Mixed selected sky and retained canopy; about 38.5% of this crop is inside the mask. The noisier reference collar and texture transition are visible. Fine gaps between branches were not stacked.


What remains limited.
This run completed; picture quality still has limits. All five frames were accepted, but acceptance is not a corner-by-corner quality verdict. The output has broader-looking upper-corner stars and a noise/texture transition around the conservative tree mask. We are publishing those weaknesses alongside the output rather than presenting this as a fully corrected photograph.
The processing report contains 228 unvalidated, overlapping regional window records across the four moving frames. This is not a percentage of the image area, nor does it mean a particular corner is correct. Use the crops and final TIFF to inspect the regions that matter to your photograph.
- One small sequence: five reduced-resolution, lossy 8-bit JPEG frames from one camera and lens. There is no broad compatibility or original-resolution performance claim.
- No obvious Milky Way core: this is a starfield/nightscape workflow case, not a test of recovering faint Galactic detail.
- Manual sky selection: this beta cannot automatically separate fine branches. The canopy and tiny gaps left outside the mask keep reference pixels.
- Single-frame foreground: the retained ground is not averaged or denoised, and the separate lit foreground exposure is not blended.
- Boundary fallback: the engine keeps reference pixels near unsafe mask edges or where fewer than three safe samples overlap. Those areas may remain noisier than the stacked sky.
- No transient rejection: aligned sky samples are averaged in linear light. Moving clouds, aircraft and satellite trails are not automatically removed.
- No independent review or competitor comparison: this is our own reproducible test. The source photographers have not been claimed as endorsing or reviewing the product.
If your inputs produce doubled stars, soft corners or a tree-edge seam, compare the same regions before keeping the result. Use the troubleshooting checklist. To report a failed sequence, first send the processing report, browser version and a description to contactjensennow@gmail.com; review the report for private filenames before sharing.
Download the files. Repeat the check.
No account or purchase is needed for the public beta. The ZIP includes all five input JPEGs, the mask/project template and source/license notes. Extract it before importing: the stacker accepts photos, not a ZIP file. Use the local helper above to prepare a project that matches your extracted files’ modification times.
- All five sample photos · ZIP0.80 MB · extract before import · includes template and license notes
- Source & conversion manifestInput SHA-256 hashes, preparation and license metadata · JSON
- Source, license & reproduction notesPlain text · keep with any shared photo derivatives
- Actual exported TIFF & report · ZIP2.52 MB download · includes 3.69 MB 16-bit TIFF, report and license notes
- Complete processing reportUsed frames, transforms, warnings, coverage and elapsed time · JSON
- Run summary & crop coordinatesBrowser context, limits and output SHA-256 · JSON
- Exact sky-mask illustration641 × 960 PNG · use the matching project to restore it in the stacker
Photographs: Filippo Dall’Aglio (@flick87), shared by Massimo Bill (@billznn), via PIXLS.us. The original photos, prepared inputs, display images, crops and stack export are shared under CC BY-SA 4.0. Changes for this case: common RAW development and white balance, +2 EV, orientation, linear-light reduction through a 1068 × 1600 intermediate to 641 × 960, 8-bit sRGB JPEG encoding, manual sky selection, aligned sky averaging and display crops. The source photographers' endorsement is not implied. The photograph license does not license the application's source code.
Try the same steps with your own sequence.
Use 3–30 matching fixed-tripod photos in desktop Chrome or Edge. Processing stays on your device. Mark the sky manually and inspect the result before exporting. Full TIFF export is free during beta. Questions, requests or ideas? Contact contactjensennow@gmail.com.
Open Nightscape Stacker