HTML ↔ JSX CONVERTER

Static markup, converted correctly.

Convert plain HTML to JSX, or JSX back to HTML — for static markup, not dynamic React code.

HTML input

JSX output

What this handles

HTML to JSX uses your browser's real HTML parser, so it correctly handles nested tags, attributes, and inline styles — converting class to className, for to htmlFor, common attributes like tabindex and colspan to their camelCase equivalents, and inline style strings to style objects.

What this doesn't handle

JSX to HTML only supports static markup — plain tags, attributes, and string values. JSX with embedded JavaScript like variables, conditionals, or .map() calls has no HTML equivalent, since that logic only makes sense inside a React component. Any such expressions are left in place with a warning rather than guessed at.