The playground at play.texform.dev runs the real TeXForm WebAssembly build in your browser. You type a formula, and the same parser, transform engine, and serializer you would get from pip install texform or npm install texform produce the output — nothing is simulated, and nothing is sent to a server.
It is the fastest way to answer the questions that come up before you write any code: what does this profile actually do to my formula, why did this formula fail to parse, and what does the tree look like underneath.
What to try there#
- Compare profiles on your own formula. Paste a formula and switch between
authoring,faithful,corpus, andequiv. Profile choice is the one decision that changes normalization output the most, and watching all four results on input you care about is more convincing than any table. See Transforms for what each profile targets. - Read parse diagnostics against the source. Diagnostics are listed with the source span they point at, so a malformed formula shows you which fragment the parser could not read instead of a single opaque failure. The concepts behind the three parse outcomes are in Parsing, and the programmatic version is in Handle parse errors.
- Inspect the document tree. The tree view shows the parsed nodes, their argument slots, and the argspec the parser used for each command — useful when a command binds its arguments differently from what you expected.
- Check which packages are loaded. The package list shows the knowledge packages in effect, which is the quickest way to see why
\ketbehaves the way it does with and withoutbraket. - Try serialization options. The serialization settings map to the same options you would pass to
to_latex/toLatex, so you can preview a spacing or script-order choice before committing to it in code. See Configure output style. - See the output rendered. The playground renders the normalized result, which is a direct check on the point of the
corpusprofile: output that needs no extra packages to display.
The version it runs#
What it does not do#
There is no URL parameter for preloading a formula. Query strings are ignored, so a link to the playground always opens the default state; share the formula itself rather than a prefilled link. The playground also has no API and no persistence beyond your own browser, and it is not a substitute for the corpus workflows in Normalize a corpus — a browser tab is the wrong place to push a million formulas through.