Hacker ApprovedDepartments

Z3 SMT solver

Hacker Approved

The most recommended of 6 optimization solvers

Free, mature SMT solver that people find convenient and well optimized for constraint problems, though it is slow on some boolean problems and struggles with larger ones.

Free, mature SMT solver that people find convenient and well optimized for constraint problems, though it is slow on some boolean problems and struggles with larger ones.

26 people gave an opinion

recommend it
24
criticize it
2
approval share
92%
Each figure is one person. RecommendsCriticizes

Recommended in 9 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: not recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 24 people recommend itNeeds 10 or more, met.
  • 12 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 9 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Mature, well-tested, heavily optimized engine

    “z3 is also just so thoroughly optimized that even if your formulation of the constraints is inefficient it is faster.”

    Comment from 4 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

    “using an existing robust, well-tested suite of algorithms where lots of research effort is concentrated”

    Comment from 17 Nov 2025 in “Z3 API in Python: From Sudoku to N-Queens in Under 20 Lines (2015)”

    “Z3 is very mature and the Rust bindings are pretty good”

    Comment from 18 Apr 2026 in “A Dumb Introduction to Z3”
  • Convenient API and language bindings

    “Z3 is very mature and the Rust bindings are pretty good”

    Comment from 18 Apr 2026 in “A Dumb Introduction to Z3”

    “I really like Z3, and I like the convenience of Z3”

    Comment from 21 Nov 2025 in “Solving the Whole Year Puzzle with Z3”

    “There's a C++ wrapper that works pretty well.”

    Comment from 18 Apr 2026 in “A Dumb Introduction to Z3”
  • Handy for puzzles and invariants

    “comes in very handy in at least one challenge every year in Advent of Code”

    Comment from 5 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

    “the loop invariant Z3 can't infer on its own”

    Comment from 2 Jul 2026 in “Salt v1.0.0 – a systems language with Z3 theorem proving in the compiler”

What people warn about

Each mark is one comment

  • Slow on boolean and some formulations

    “Z3 is capable (it’s an SMT solver, not just SAT), but it’s not very fast at boolean satifiability”

    Comment from 19 Mar 2026 in “Autoresearch for SAT Solvers”

    “If they blend the two and throw the whole thing into Z3 it'll work but it'll be needlessly slow.”

    Comment from 30 Apr 2026 in “Vera: a programming language designed for machines to write”

    “pretty slow compared to just checking if a test case passes”

    Comment from 7 Apr 2026 in “DeiMOS – A Superoptimizer for the MOS 6502”

Other optimization solvers people recommend

The four most recommended other optimization solvers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Z3 SMT solver compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Z3 SMT solverThis page24292%9—Approved
MiniZinc6186%5——
Google OR-Tools6460%3——
OR-Tools CP-SAT6186%3——
Gurobi60100%2——
See all 6 optimization solvers, ranked

What people said

21 of the 28 comments that mention it, newest first. Each links to the original comment.

“I think it's criminally underappreciated and underused.”

RecommendsComment from 17 Sep 2026 in “Online Z3 Guide”

“comes in very handy in at least one challenge every year in Advent of Code”

RecommendsComment from 5 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

“Z3 is just used for it's convenient API.”

RecommendsComment from 4 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

“z3 is also just so thoroughly optimized that even if your formulation of the constraints is inefficient it is faster.”

RecommendsComment from 4 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

“It’s kind of magical? Every time it finds a solution I get a surge of joy.”

RecommendsComment from 4 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

“the Z3 setup I had was already acting as a super-powered simulator anyway”

RecommendsComment from 4 Sep 2026 in “Solving the Jane Street reverse engineering challenge”

“the loop invariant Z3 can't infer on its own”

MixedComment from 2 Jul 2026 in “Salt v1.0.0 – a systems language with Z3 theorem proving in the compiler”

“The 100ms timeout means it's not sound, but it's useful.”

MixedComment from 2 Jul 2026 in “Salt v1.0.0 – a systems language with Z3 theorem proving in the compiler”

“A native first-order logic solver like Z3 might be something to try.”

RecommendsComment from 13 May 2026 in “Using OR-Tools CP-SAT for Scheduling Problems”

“If they blend the two and throw the whole thing into Z3 it'll work but it'll be needlessly slow.”

MixedComment from 30 Apr 2026 in “Vera: a programming language designed for machines to write”

“There's a C++ wrapper that works pretty well.”

RecommendsComment from 18 Apr 2026 in “A Dumb Introduction to Z3”

“Z3 is consistently but noticeably better than CVC5 at the kinds of problems we generate”

MixedComment from 18 Apr 2026 in “A Dumb Introduction to Z3”

“Z3 struggles with larger problems.”

CriticizesComment from 18 Apr 2026 in “A Dumb Introduction to Z3”

“Z3 is very mature and the Rust bindings are pretty good”

RecommendsComment from 18 Apr 2026 in “A Dumb Introduction to Z3”

“z3 so far has worked best”

RecommendsComment from 14 Apr 2026 in “Show HN: LogicPearl – Synthesizing deterministic executable logic from traces”

“pretty slow compared to just checking if a test case passes”

CriticizesComment from 7 Apr 2026 in “DeiMOS – A Superoptimizer for the MOS 6502”

“Z3 is capable (it’s an SMT solver, not just SAT), but it’s not very fast at boolean satifiability”

MixedComment from 19 Mar 2026 in “Autoresearch for SAT Solvers”

“combined with the z3 SMT solver”

MixedComment from 17 Dec 2025 in “AI will make formal verification go mainstream”

“I really like Z3, and I like the convenience of Z3”

MixedComment from 21 Nov 2025 in “Solving the Whole Year Puzzle with Z3”

“using an existing robust, well-tested suite of algorithms where lots of research effort is concentrated”

RecommendsComment from 17 Nov 2025 in “Z3 API in Python: From Sudoku to N-Queens in Under 20 Lines (2015)”

“you'd want to do `pip install z3-solver` rather than use `Z3Py`”

RecommendsComment from 16 Nov 2025 in “Z3 API in Python: From Sudoku to N-Queens in Under 20 Lines (2015)”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.