QuickCheck
QuickCheck is a free Haskell library for testing program properties with randomly generated cases.
What QuickCheck is
QuickCheck is a free Haskell library for testing program properties with randomly generated cases. Developers express specifications using QuickCheck combinators and can define generators for test data. Additional combinators let tests examine the distribution of generated values. The Test.QuickCheck.Monadic module provides monadic property testing, and the library also supports stateful testing, shrinking failing cases, and reproducible failures. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages and has additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell, and transformers. Hackage reports testing with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful with other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package.
Good
- Specifications and generators use Haskell combinators.
- Supports shrinking failing cases.
- Includes monadic and stateful property testing.
- Supports reproducible failures.
- Free under the BSD-3-Clause license.
Watch out
- The library is for Haskell.
- The companion instances package adds dependencies.
- Reported compiler testing does not include GHC 9.15 or later.
Who it suits
QuickCheck suits Haskell developers who want to check program properties using generated test cases. Its monadic and stateful testing features can serve projects with more than straightforward input-output properties.
Verdict
QuickCheck provides property-based testing tools for Haskell, including generators, shrinking, and stateful tests. Check its listed compiler compatibility and dependencies against your project.
Plans and prices
From QuickCheck's own pricing page, checked 2 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| QuickCheck | Free | Haskell library for random testing of program properties |
The facts
Each one read from QuickCheck's own pages, with the date it was checked.
What it does
- Companion package
- The quickcheck-instances companion package provides instances for types in Haskell Platform packages, with additional dependencies.checked 2 Oct 2026
- Compiler compatibility
- Hackage reports the package tested with GHC versions at least 8.10 and below 9.15, and Hugs.checked 2 Oct 2026
- Data distribution
- QuickCheck provides combinators to observe the distribution of test data.checked 2 Oct 2026
- Dependencies
- The package lists dependencies including base, containers, random, splitmix, template-haskell, and transformers.checked 2 Oct 2026
- Download
- Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package.checked 2 Oct 2026
- Generators
- QuickCheck provides combinators for defining test data generators.checked 2 Oct 2026
- Hugs compatibility
- The make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations.checked 2 Oct 2026
- License
- The package is licensed under BSD-3-Clause.checked 2 Oct 2026
- Monadic testing
- The monadic property testing library is provided in the Test.QuickCheck.Monadic module.checked 2 Oct 2026
- Property specifications
- Program specifications are expressed in Haskell using QuickCheck combinators.checked 2 Oct 2026
- Purpose
- QuickCheck is a Haskell library for random testing of program properties by checking specifications against randomly generated cases.checked 2 Oct 2026
- Use
- The package README says to add QuickCheck to package dependencies to use it in tests or a REPL.checked 2 Oct 2026
Alternatives to QuickCheck
- 1

fast-check
Free planOpen sourceWebAPILinuxSelf-hosted7.1Free plan - 2
ScalaCheck
Free planLinuxmacOSWindows6.6Free plan - 3
Gopter
Free planLinuxSelf-hosted6.4Free plan - 4
JSVerify
Free planWebSelf-hosted6.4Free plan - 5
Racket QuickCheck
Free planLinuxmacOSWindows6.4Free plan - 6
FsCheck
Free planLinuxmacOSWindows6.3Free plan
