Skip to content
JS
Alternatives

io-ts alternatives

8 packages that do the same job as io-ts: runtypes, @standard-schema/spec, json-schema-to-ts, @accordproject/concerto-vocabulary, @inixiative/json-rules, json-schema-to-typescript-lite, @c15t/schema, @ankhorage/contracts. Figures below are from npm, GitHub and Bundlephobia.

Data as of 25 Sept 2026
PackageWeekly downloads12-month changeGzipDependenciesLast releaseModuleTypesRuntimes
io-ts
This package
2m+22%-01 year agoESM + CommonJSBundled-
runtypes186.3k-1%-01 month agoESM + CommonJSBundled-
@standard-schema/spec80.7m+892%-09 months agoESM + CommonJSBundled-
json-schema-to-ts24.9m+962%-22 years agoESM + CommonJSBundled-
@accordproject/concerto-vocabulary58.5k--216 days agoESM + CommonJSBundled-
@inixiative/json-rules21.6k--24 days agoESM + CommonJSBundled-
json-schema-to-typescript-lite629.1k+139%-21 year agoESM + CommonJSBundled-
@c15t/schema116.6k--11 month agoESM + CommonJSBundled-
@ankhorage/contracts33.8k--21 day agoESM onlyBundled-

12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package (Bundlephobia). Runtimes are taken from each package's own documentation; "-" means not recorded.

Runtime validation for static types

Compared with io-ts

  • 11x fewer weekly downloads (186.3k vs 2m)
  • Last release 14 Aug 2026 vs 10 Dec 2024
  • 2.5x fewer GitHub stars (2.7k vs 6.8k)

A family of specs for interoperable TypeScript

Compared with io-ts

  • 39x more weekly downloads (80.7m vs 2m)
  • Last release 15 Dec 2025 vs 10 Dec 2024
  • 1.9x fewer GitHub stars (3.6k vs 6.8k)

Infer typescript types from your JSON schemas!

Compared with io-ts

  • 12x more weekly downloads (24.9m vs 2m)
  • 2 dependencies vs 0
  • Declares Node.js >=16 vs none declared
  • Last release 29 Aug 2024 vs 10 Dec 2024
  • 3.8x fewer GitHub stars (1.8k vs 6.8k)

Associate human-readable text to model declarations

Compared with io-ts

  • 35x fewer weekly downloads (58.5k vs 2m)
  • 2 dependencies vs 0
  • Declares Node.js >=18 vs none declared
  • Last release 8 Sept 2026 vs 10 Dec 2024
  • 33x fewer GitHub stars (208 vs 6.8k)

TypeScript-first JSON rules engine with intuitive syntax and detailed error messages

Compared with io-ts

  • 95x fewer weekly downloads (21.6k vs 2m)
  • 2 dependencies vs 0
  • Last release 20 Sept 2026 vs 10 Dec 2024
  • 1363x fewer GitHub stars (5 vs 6.8k)

Lite version of json-schema-to-typescript

Compared with io-ts

  • 3.3x fewer weekly downloads (629.1k vs 2m)
  • 2 dependencies vs 0
  • Last release 24 Jul 2025 vs 10 Dec 2024
  • 2.0x fewer GitHub stars (3.3k vs 6.8k)

Framework-agnostic Valibot schemas and TypeScript types for c15t consent management

Compared with io-ts

  • 18x fewer weekly downloads (116.6k vs 2m)
  • 1 dependency vs 0
  • Last release 4 Aug 2026 vs 10 Dec 2024
  • 3.6x fewer GitHub stars (1.9k vs 6.8k)

Serializable app, action, theme, auth, and secret-store contracts for Ankhorage.

Compared with io-ts

  • 61x fewer weekly downloads (33.8k vs 2m)
  • 2 dependencies vs 0
  • ESM only vs ESM + CommonJS
  • Last release 23 Sept 2026 vs 10 Dec 2024
  • 6815x fewer GitHub stars (1 vs 6.8k)
Sources: npm registry, npm downloads API, GitHub API, Bundlephobia. Data fetched 25 Sept 2026.

Indexability: Indexed.