Choose a script, set the properties one request carries, and the page reports whether the script is valid, what value it produces, and why that value was reached.
The page loads the reference tools of this repository without altering them, being tools/parse.mjs, tools/validate.mjs, tools/evaluate.mjs and tools/canonical.mjs, so the answer here is the answer the conformance cases give.
Everything runs in your browser. The script and the values you paste are never sent anywhere. The only things fetched over the network are the js-yaml library and the files of this repository.
Edit either box and the answer follows as you type. Choosing an answer below the properties fills them in with a request that produces it, and pressing the same answer again shows another of the requests that reach it.
YAML or JSON. Both give the same model. Edit it and the boxes on the right follow.
One box for each property the script names. Set a property to Absent to watch the whole derived property lose its value, which is the one rule of the format.
Part of the 51Degrees derived properties repository. The evaluator, the validator and the canonical printer here are the same files every language implementation must agree with.