Dataset fault injector
Give your validator a known set of mistakes to find.
Latest result
Ready when you are
Give your validator a known set of mistakes to find.How it works
- Choose a fault type and the percentage of eligible rows to change. Start with 10% to inspect a small set of errors.
- Generate a fixture. The preview shows damaged rows; the report gives the actual number of changes.
- Export damaged data, clean CSV and the change manifest separately. Join them by stable row_id to check your validator.
Every change has an answer
Fixtures contain a stable row_id plus an ID, five-row group, date, class label and numeric value. Faults replace value with null or text, add 10,000 to it, or duplicate the first ID into selected later rows. Duplicate-ID mode excludes the first row from the eligible pool. Counts round to the nearest row. Only one fault type applies per run, and the manifest records each before/after value.
Your inputs stay with you
Your inputs and generated results stay in this browser. Settings and five recent runs use local storage; clearing browser data removes them. Export a copy to keep it. Hosting may record standard page-request logs, but generated rows and participant names are not sent to the server.
Can I upload my own dataset?
This version creates its own fixtures locally. It does not upload or edit personal datasets. Keeping the clean fixture, damaged fixture and exact change manifest together makes a useful regression test for an importer or validation pipeline.
Repeatable test data
The research tools use the versioned xoshiro128** pseudorandom generator with named seed streams. They are intended for small examples and testing, not secrets or certified draws. A recipe records parameters and generator version. Floating-point transforms are rounded to six decimal places; keep exported files when exact cross-platform bytes matter.
Seeds are repeatable. Use the password generator for credentials.