HTML to JSX Converter

Convert HTML to React JSX with automatic attribute conversion.

Conversion Rules

Attribute Conversions

  • class ? className
  • for ? htmlFor
  • tabindex ? tabIndex
  • readonly ? readOnly
  • onclick ? onClick

Other Conversions

  • Self-closing tags: <br> ? <br />
  • Style strings ? Style objects
  • HTML comments ? JSX comments
  • Boolean attributes: disabled ? disabled={true}

What Is HTML to JSX Conversion?

JSX (JavaScript XML) is a syntax extension for JavaScript used by React to describe what the UI should look like. While JSX looks similar to HTML, it has important differences in attribute naming, self-closing tags, and expression syntax. Converting HTML to JSX is necessary when migrating existing HTML templates to React components or integrating HTML snippets from design tools.

Key Differences Between HTML and JSX

HTMLJSXReason
class="..."className="..."class is a reserved word in JavaScript
for="..."htmlFor="..."for is a reserved word in JavaScript
style="color: red"style={{color: 'red'}}JSX uses JavaScript objects for inline styles
onclick="..."onClick={...}JSX uses camelCase event handlers
<br><br />JSX requires all tags to be closed
tabindex="0"tabIndex={0}Multi-word attributes use camelCase
<!-- comment -->{/* comment */}JSX uses JavaScript comment syntax

Common Use Cases

  • React Migration: Convert existing HTML templates to React components when adopting React in a project.
  • Design Handoff: Transform HTML exported from Figma, Sketch, or other design tools into valid JSX for React components.
  • Email Templates: Convert HTML email templates to JSX for use with React-based email frameworks like react-email.
  • Static Site Conversion: Migrate static HTML sites to React-based frameworks like Next.js or Gatsby.

How to Use This Tool

  1. Paste your HTML code into the input area.
  2. Click Convert to transform it to JSX.
  3. Review the converted output — attributes like class become className.
  4. Copy the JSX code for use in your React components.

Why Use This Tool?

  • Save time converting HTML templates to React JSX.
  • Automatically converts all HTML attributes to JSX equivalents.
  • Handles self-closing tags, style objects, and event handlers.
  • Essential when migrating HTML templates to React.

Frequently Asked Questions

Can I use regular HTML in React?

No. React uses JSX, which has strict syntax requirements. While JSX looks like HTML, using raw HTML attributes like class or unclosed tags like <br> will cause errors.

What about inline styles?

In JSX, the style attribute accepts a JavaScript object with camelCase property names, not a CSS string. For example, background-color becomes backgroundColor.