Paste HTML and get JSX React accepts: class becomes className, inline styles become objects, comments and void elements are handled.
The result appears hereclass, for, tabindex and the rest of React's renamed set, plus every hyphenated attribute except data-* and aria-*, which keep their dashes. Bare boolean attributes such as disabled are written as JSX booleans.
A style attribute becomes a style object with camelCased properties and string values, which is the only form React accepts. Custom properties keep their double dash and stay quoted.
Because it is parsed by the browser rather than by a pattern, so implied tags are filled in and misplaced ones are moved exactly as they would be on a real page. What you see is what the markup actually means.
2189 blocks and 1325 pieces for shadcn/ui and Tailwind, built on the same tokens these tools write. Install one with a command and the code is yours.
Browse the blocksNo signup for the tools. MIT for free blocks, commercial licence for Pro.