···66[](https://jsr.io/@kbilkis/cron-fast)
77[](https://github.com/kbilkis/cron-fast/actions/workflows/ci.yml)
88[](https://codecov.io/github/kbilkis/cron-fast)
99-[](https://bundlejs.com/?q=cron-fast)
1010-[](https://snyk.io/test/npm/cron-fast)
99+[](https://bundlejs.com/?q=cron-fast)
1010+1111[](https://opensource.org/licenses/MIT)
12121313**Fast and tiny JavaScript/TypeScript cron parser with timezone support.** Works everywhere: Node.js, Deno, Bun, Cloudflare Workers, and browsers. Zero dependencies.
···323323| Validation | **1958k ops/s** | 34k ops/s | 97k ops/s | 462k ops/s |
324324| Parsing | **1982k ops/s** | 35k ops/s | 98k ops/s | 469k ops/s |
325325326326-See [detailed benchmarks and feature comparison](docs/benchmark-comparison.md) (including Deno and Bun runtimes) for more information.
326326+See [detailed benchmarks](docs/benchmark-comparison.md) (including Deno and Bun runtimes) for more information.
327327328328Run benchmarks yourself: `pnpm benchmark`
329329
+1-1
docs/benchmark-comparison-bun.md
···11-# Benchmark & Feature Comparison
11+# Benchmark
2233> Tested with bun v1.3.9, cron-fast v3.0.0, croner v10.0.1, cron-parser v5.5.0, cron-schedule v6.0.0, cron-validate v1.5.3
44> Tested on MacBook M1 pro
+1-1
docs/benchmark-comparison-deno.md
···11-# Benchmark & Feature Comparison
11+# Benchmark
2233> Tested with deno v2.6.8, cron-fast v3.0.0, croner v10.0.1, cron-parser v5.5.0, cron-schedule v6.0.0, cron-validate v1.5.3
44> Tested on MacBook M1 pro
+1-1
docs/benchmark-comparison-node.md
···11-# Benchmark & Feature Comparison
11+# Benchmark
2233> Tested with node v22.18.0, cron-fast v3.0.0, croner v10.0.1, cron-parser v5.5.0, cron-schedule v6.0.0, cron-validate v1.5.3
44> Tested on MacBook M1 pro
+1-1
docs/benchmark-comparison.md
···11-# Benchmark & Feature Comparison
11+# Benchmark
2233cron-fast has been benchmarked across multiple JavaScript runtimes to ensure consistent performance.
44
+1-1
scripts/benchmark.ts
···403403404404 // Find and replace the performance table
405405 const tableStart = readme.indexOf("| Operation");
406406- const tableEnd = readme.indexOf("\nSee [detailed benchmarks and feature comparison]");
406406+ const tableEnd = readme.indexOf("\nSee [detailed benchmarks]");
407407408408 if (tableStart === -1 || tableEnd === -1) {
409409 throw new Error("Could not find performance table in README.md");