superstruct vs zod
zod is downloaded 33.8× more often than superstruct (699,440,515 vs 20,701,143 per month), so it has the larger community and more answered questions online. superstruct ships 94% less gzipped JavaScript (3.4 kB vs 60.3 kB), which matters if bundle size is a priority. zod has been updated more recently, a sign of more active maintenance.
| Metric | superstruct | zod |
|---|---|---|
| Weekly downloads | 4,952,034 | 179,575,332✓ |
| Monthly downloads | 20,701,143 | 699,440,515✓ |
| GitHub stars | 7,143 | 42,835✓ |
| Minified size | 10.2 kB✓ | 274.7 kB |
| Minified + gzipped | 3.4 kB✓ | 60.3 kB |
| Dependencies | 0 | 0 |
| Open issues | 100✓ | 167 |
| Last commit | 2024-10-01 | 2026-05-31✓ |
| Latest version | 2.0.2 | 4.4.3 |
| License | MIT | MIT |
When to choose which
superstruct
Lightweight, composable data validation.
Choose it when: Simple, composable validation with a small footprint when you don't need Zod's full feature set.
- + Small & composable
- + Type inference
- - Sync only
- - Smaller ecosystem
zod
TypeScript-first schema validation with type inference.
Choose it when: The default for TypeScript projects — define a schema once and infer the static type from it, with a huge ecosystem.
- + Best-in-class type inference
- + Massive ecosystem
- + Great DX
- - Larger than Valibot
- - Chaining can get verbose
Feature comparison
| Feature | superstruct | zod |
|---|---|---|
| Static type inference | ✓ Yes | ✓ Yes |
| Async validation | ✗ No | ✓ Yes |
| Standard Schema | ✗ No | ✓ Yes |
| API style | Composable functional | Chainable |
| Best for | Lightweight needs | TypeScript apps |
superstruct
A simple and composable way to validate data in JavaScript (and TypeScript).
Related comparisons
Embed this comparison
A live badge for your README — it updates as the numbers change.
[](https://devcompare.dev/compare/superstruct-vs-zod)Data from npm, Bundlephobia and GitHub. Last updated 2026-06-02.