← All tool ratings

SunCalc

Sun position and shadow calculator for chronolocation and photo verification. The standard tool in OSINT shadow analysis.

Verification
Open source
Adequate
https://www.suncalc.org Reviewed 2026-04-02 Editorial assessment by Mike Schneider — not an independent security audit

What should journalists know about SunCalc?

SunCalc is the default shadow-analysis tool in investigative journalism. Set a location on the map, pick a date, drag the time slider — you get sun azimuth, altitude, shadow direction, and daylight phase boundaries. Bellingcat's 2024 Shadow Finder tool uses the SunCalc library (v0.1.3) under the hood, which tells you how foundational this is. The math is accurate. The bottleneck is always the investigator's ability to measure shadow angles and object heights from imagery — SunCalc itself introduces negligible error. Two things to know: suncalc.org (Torsten Hoffmann) and suncalc.net (Volodymyr Agafonkin) are different projects by different developers. Agafonkin's suncalc.net hasn't been updated in 15+ years; he says a new version is coming. SunCalc.org is the actively maintained version with shadow-length overlays, eclipse data, and photovoltaic analysis. Both use Google Maps, which means Google sees every location you search. For sensitive investigations, note coordinates offline and use a non-Google calculator.

Best for

Chronolocation — confirming when a photo or video was taken by matching shadow direction and length against sun position. Geolocation cross-referencing when shadow angle narrows candidate locations. Verifying claimed timestamps on conflict imagery (airstrikes, military movements). Planning photo/video shoots around specific lighting conditions.

Not for

Overcast conditions — no shadows, no signal. Indoor photos. Images where shadow edges are ambiguous or objects lack clear vertical profiles. SunCalc gives you the theoretical sun position; you still need geometry skills to measure shadow ratios from imagery. If you need 3D terrain shadow modeling, use ShadeMap instead.

Security & Privacy

Encryption in transit Yes

Data is scrambled while being sent to their servers

Encryption at rest Yes

Data is scrambled when stored on their servers

Data jurisdiction Client-side calculations run entirely in your browser. No server-side processing. The map layer loads tiles from Google Maps, so Google receives your IP address and every location coordinate you view. Google's privacy policy and data retention apply to those requests.

Where servers are located — affects which governments can request your data

Security rating Adequate

Privacy policy summary

No account. No login. No data stored server-side. All sun-position math executes locally in JavaScript. The Google Maps tile layer is the privacy exposure: Google logs map tile requests with your IP, location coordinates, and timestamps. No first-party analytics or tracking visible in the source.

How to protect yourself:

Use a VPN when researching sensitive locations — Google Maps tile requests reveal coordinates and your IP. For high-risk investigations, note GPS coordinates from a separate source and use an offline sun-position calculator (NOAA's solar calculator or the Python pvlib library). Cross-reference SunCalc results with Stellarium (offline planetarium software) for independent verification. Bellingcat's Shadow Finder automates the global search that SunCalc requires you to do manually — use it when you have shadow measurements but no candidate location.

Open-source, client-side calculations with no server-side data processing. The sole privacy concern is Google Maps: every location you view generates tile requests to Google's servers, exposing coordinates and your IP address. No account, no cookies, no first-party tracking. Rating stays 'adequate' rather than 'strong' because the Google Maps dependency is baked in with no option to swap map providers, and investigators working on sensitive locations (conflict zones, source locations) should treat those tile requests as a metadata trail.

Who Owns This

Owner SunCalc.org: Torsten Hoffmann. The underlying suncalc JavaScript library: Volodymyr Agafonkin (GitHub @mourner), a Ukrainian developer based in Kyiv who also created Leaflet.js (the most widely used open-source web mapping library, 42k+ GitHub stars) and 40+ other JS libraries. Agafonkin works at Mapbox.
Funding Unfunded open-source project. No sponsors, grants, or institutional backing. Agafonkin maintains the library as part of a broader portfolio of geographic/cartographic open-source tools.
Business model None. The suncalc npm library has ~100k weekly downloads and is a dependency in dozens of tools (including Bellingcat's Shadow Finder), but generates no revenue. SunCalc.org runs display ads on the site.

Known issues

Agafonkin's suncalc.net site hasn't been updated in 15+ years and he acknowledges it's 'falling apart' — a new version has been promised but not shipped. The npm library (mourner/suncalc) has 3.4k GitHub stars but sees only occasional maintenance commits. SunCalc.org and suncalc.net are separate projects by different developers — easy to confuse. The suncalc library doesn't account for atmospheric refraction at very low sun angles (sunrise/sunset), which can introduce ~0.5° error. Shadow-length measurements from photos are inherently imprecise — accuracy depends on the investigator, not the tool. If you only know the month and year, expect ±15 minutes accuracy on chronolocation estimates.

Pricing

Free. No account required.

This is an editorial assessment based on publicly available information as of 2026-04-02, using our published methodology. Independent security review is pending. Security posture can change at any time. This is not a guarantee of safety.

Something wrong or outdated? Report it.