Benchmarks

Strict validation

How fast each library checks a value and rejects keys the type does not declare.

Strict validation answers a stricter question than plain validation: the value has to match its type and carry nothing else. An extra key is a rejection, not something quietly ignored.

This is the one page where a library can appear twice, once per JavaScript runtime. RunTypes picks a different key-counting strategy depending on the engine it finds itself in, because the fastest way to count an object's keys is not the same on Node as it is on Bun. The two strategies always agree on the answer, so the choice only ever changes how fast the check runs, never whether a value passes.

$ loading benchmark…
Copyright © 2026