Conversion workflow

Local format tools: preserve meaning, reject unsafe execution

A readable or smaller output is useful only if its meaning is understood. These tools parse locally, never execute supplied scripts or load input resources, and refuse unsupported cases instead of silently repairing them.

Content updated: · Maintained by Hung Chi-Hsueh · corrections

Validation has a declared dialect

The schema validator supports JSON Schema Draft-07 with local document # references, not remote loading or Draft 2020-12. A valid instance satisfies the supplied schema, not an application's complete business rules, authorization or data provenance. A schema inferred from a sample is a different workflow and cannot prove every real value is accepted.

JSONPath uses RFC 9535 query semantics and returns values with normalized paths. It does not evaluate JavaScript. Missing matches and JSON null are different outcomes. Expensive recursive/filter queries run in a cancellable Worker with resource limits; an error does not return a partial successful result.

Whitespace can be data

HTML formatting preserves text boundaries, preformatted text and raw-text elements. CSS parsing preserves quoted strings, calc tokens and custom properties rather than applying a global whitespace regex. JavaScript minification parses source without running it. Always run the receiving application's tests; smaller source is not automatically safer or faster.

XML formatting and minification are not byte-preserving. Mixed text, CDATA or xml:space=preserve keeps the entire original unchanged. XML-to-JSON/YAML uses @ attributes, #text and arrays for repeated elements; namespace names, comments, ordering and document syntax do not become a general reversible data model. DTD/entities and unsupported mixed content are rejected. Use the explicit example conventions before converting back.

Generated markup is not a safety certificate

HTML-to-JSX and HTML-to-Markdown output source text, not executable previews. Converting event attributes does not make them trustworthy. A Markdown preview removes resource-loading attributes and unsafe elements before a strict sanitizer; raw generated HTML is still a separate output requiring a trust decision.

SVG minification/rasterization accepts only a conservative static allowlist. External resources, scripts, event handlers, arbitrary stylesheets, embedded images and animation are refused. Rasterization additionally rejects element references and runs parser work in a bounded Worker. A larger PNG uses the original viewBox coordinate space; it does not add vector detail or guarantee identical fonts across platforms.

Data provenance

Sources