Solving the Zodiac Z32 Cipher with Python

A brute force search over millions of candidates reduces Z32 to a concrete claim: one plaintext, one location, one landmark.

First shared publicly on December 22, 2025
Regional satellite image showing the Mount Diablo reference system, radial construction, and decoded projection.
Mount Diablo reference geometry, decoded bearing, and regional endpoint context. Image attribution: © Google, Airbus.

I first shared this solution publicly in December 2025 after reframing the Zodiac Z32 cipher as a constraint satisfaction problem. That shift matters because Z32 is too short for guesswork but structured enough for elimination: Mount Diablo, magnetic north, radians, inches, and repeated-symbol consistency turn it into a bounded search.

The Python codebase tests millions of candidate readings against exact length, symbol-lock consistency, and geographic admissibility. Almost all of them fail. What survives is small enough to inspect, rerun, and argue with directly.

This page is for skeptical readers. It is a short introduction to the claim, the publication timeline, and the falsification standard. The full argument is in the whitepaper. The reproducibility is in the code.

Top Ranked Candidate IN THREE AND THREE EIGHTHS RADIANS TEN

Read literally, the proposed plaintext gives a distance and a direction: three and three-eighths inches on the Phillips 66 map, ten on the clock-face radial, corrected to magnetic north as instructed. Run that procedure and it yields a concrete endpoint in Solano County near the Vallejo crime scene cluster.

The point is not that the line sounds persuasive. The point is that it can be checked. The search can be rerun. The constraints can be challenged. The bearings and declination can be recalculated. The coordinates can be verified. The real question is whether the method breaks or whether a stronger candidate can do better under the same rules.

Decoded site context showing the regional endpoint area near the proposed location.
Decoded regional context near the proposed solution coordinates. Image attribution: © Google, Airbus.

The endpoint is not empty. Near the decoded location sits a clear triangular ground feature. In a cipher whose most distinctive visual form is the triangle glyph, that matters. Not as a substitute for the computation, but as a physical correlate that appears where the constrained search says readers should look.

That is where skepticism has to become specific. Show that the constraint framework is wrong. Show that the ranking is wrong. Show that the map interpretation fails. Show that the coordinates do not follow. Or show that a stronger candidate survives the same test and lands more convincingly in the world. Anything weaker than that is not a debunk.

Close-up of the triangular cipher glyph from Z32.
Triangle glyph from the Z32 cipher. Image attribution: © Google, Airbus.
Close aerial image of the triangular ground feature near the decoded location.
Triangular ground feature near the decoded endpoint. Image attribution: © Google, Airbus.
Black-and-white aerial view of the triangular ground feature with central dark form.
Black-and-white view of the triangular ground feature. Image attribution: © Google, Airbus.
Water- or moisture-emphasized image of the triangular ground feature.
Moisture-enhanced view of the same triangular feature. Image attribution: © Google, Airbus.

Publication timeline

Falsification criteria

A meaningful debunk should do one of four things: invalidate the constraint framework, show a material error in the geometry or declination, demonstrate that the published coordinates do not follow from the method, or produce a stronger candidate that survives the same search and fits the external evidence better.

That is the standard this project invites. The goal is not to avoid scrutiny. The goal is to force scrutiny to become precise.

Where to go next

This page is only the entry point. The full argument is in the whitepaper. The reproducibility is in the code. Version 3 and the JavaScript implementation will expand both.

Credits, Copyright, and Disclaimer

Several figures on this page incorporate Google Earth imagery and related map or image credits visible on the source images. Google Earth, associated map data, and third-party imagery credits remain the property of their respective owners and should stay visible where shown.

This page presents computational findings. The results were reported to authorities before being shared publicly. Do not trespass or endanger any person or property.

Overlay of the cipher triangle against the triangular ground feature near the decoded endpoint.
Overlay of the Z32 triangle glyph and the triangular ground feature near the decoded endpoint. Image attribution: © Google, Airbus.