digtools
⚛️
html to jsx,

Trình chuyển đổi HTML sang JSX

Chuyển đổi mã HTML thông thường thành cú pháp JSX cho React.

Chuyển đổi Real-time
Dán HTML gốc, nhận ngay JSX
Tự động sửa
Tự chuyển class, for, style
🔒
100% Offline
Mã của bạn không bao giờ bị gửi đi
HTML (Đầu vào)
JSX (Kết quả)
about,

Giới thiệu

Công cụ hữu ích dành cho nhà phát triển giúp rút ngắn khoảng cách giữa thiết kế HTML truyền thống và các framework JavaScript hiện đại. Cho phép bạn chuyển đổi nhanh chóng mã HTML hoặc SVG chuẩn sang cú pháp React (JSX) hoàn toàn hợp lệ ngay trên trình duyệt.

Chúng tôi ưu tiên bảo mật dự án của bạn. Ứng dụng này chạy hoàn toàn trên máy cục bộ của bạn bằng thuật toán Regex ở phía Client. Do đó, bạn có thể yên tâm dán các template nội bộ của công ty hoặc thiết kế UI chưa ra mắt mà không gặp rủi ro gì, vì mã không bao giờ bị gửi lên mạng.

how to use,

Cách sử dụng

  1. Dán Mã Nguồn: Dán bất kỳ đoạn mã HTML thông thường nào trực tiếp vào khung "Input" bên trái.
  2. Chuyển đổi tức thì: Hệ thống sẽ tự động nhận diện cú pháp khi bạn nhập và đồng thời biên dịch sang JSX hợp lệ ở bên phải.
  3. Sao chép và Sử dụng: Kiểm tra lại định dạng kết quả, bấm nút "Sao chép" và dán trực tiếp vào file `.js`, `.jsx` hoặc `.tsx` của dự án framework React.

Các quy tắc chuyển đổi tự động chính

  • Thuộc tính class=" " tự động chuyển thành className=" ".
  • Thuộc tính for=" " tự động chuyển thành thuộc tính DOM htmlFor=" ".
  • Các thẻ tự đóng (void elements) như <br>, <hr>, <img>, và <input> tự động được thêm dấu gạch chéo /> ở cuối để tránh lỗi biên dịch nghiêm ngặt của React.
  • Cú pháp Inline Styles dạng chuỗi (ví dụ: style="font-size: 10px;") được phân tích và chuyển thành object JS với kiểu viết camelCase style={{fontSize: '10px'}}.
  • Các sự kiện phổ biến (như onclick) được chuyển thành sự kiện synthetic camelCase của React (như onClick).
glossary,

Thuật ngữ

JSX (JavaScript XML)
Cú pháp mở rộng của JavaScript dùng trong React và Next.js. Nó cho phép bạn viết UI giống như HTML, nhưng một số tên thuộc tính sẽ khác — ví dụ, class phải đổi thành className.
className
Thuộc tính JSX dùng thay cho class của HTML. Việc đổi tên này giúp tránh trùng lặp với từ khóa class đã được JavaScript xí chỗ.
htmlFor
Thuộc tính JSX thay thế cho for của HTML trong thẻ <label>. Đổi tên để tránh xung đột với vòng lặp for của JS.
Self-Closing Tags (Thẻ tự đóng)
Trong JSX, các thẻ rỗng (không chứa nội dung) như <img>, <br>, và <input> bắt buộc phải đóng rõ ràng bằng dấu gạch chéo: <img />. Trong HTML thì tuỳ chọn, nhưng JSX thì bắt buộc.
Inline Styles
Trong JSX, thuộc tính style phải nhận vào một JavaScript object thay vì một chuỗi CSS. Tên thuộc tính CSS cũng phải viết theo kiểu camelCase: style={{color: "red", fontSize: "16px"}}.
React Component
Một hàm hoặc lớp tái sử dụng trả về JSX. Component là các khối xây dựng cơ bản của một ứng dụng React, mỗi khối chịu trách nhiệm render một phần UI cụ thể.
faq,

FAQ

Q.Mã của tôi có bị gửi lên máy chủ không?
Không. Toàn bộ quá trình chuyển đổi HTML sang JSX chạy hoàn toàn bên trong trình duyệt của bạn. Đoạn code bạn dán không bao giờ bị gửi ra ngoài.
Q.Công cụ tự động chuyển đổi những gì?
Tự động đổi class → className, for → htmlFor, chuỗi style inline → object notation, tự đóng các thẻ rỗng, và giữ nguyên các thuộc tính data-* — tất cả đều tuân thủ chuẩn JSX của React.
Q.Tôi có thể dùng kết quả này cho TypeScript (TSX) không?
Có, mã JSX tạo ra thường cũng là TSX hợp lệ. Bạn chỉ cần tự thêm các khai báo kiểu (type annotations) của TypeScript sau đó.
Q.Công cụ có xử lý được HTML phức tạp như bảng và biểu mẫu không?
Có, hỗ trợ cả cấu trúc phức tạp như table, form, và SVG. Lưu ý là các cú pháp template (như EJS, Pug) cần được compile ra HTML thuần trước khi dán vào.
Q.Làm sao để copy kết quả?
Nhấn nút "Sao chép" ở phía trên khung JSX. Mã chuyển đổi sẽ được lưu vào clipboard, sẵn sàng dán vào file .jsx hoặc .tsx của bạn.
Q.Các thuộc tính SVG có được chuyển đổi không?
Chưa hỗ trợ toàn diện SVG nhưng các sự kiện phổ biến và thuộc tính tiêu chuẩn đều hoạt động. Một số thuộc tính SVG đặc thù (như stroke-width) có thể cần kiểm tra lại, nhưng cấu trúc thẻ được giữ nguyên.
Q.Có dùng được trên điện thoại không?
Có. Giao diện hoàn toàn responsive. Bạn có thể dán HTML, xem và copy JSX từ bất kỳ trình duyệt di động hiện đại nào.
use cases,

Ứng dụng

  • Import Mockup từ Designer: Nhanh chóng chuyển đổi các khối HTML thuần túy được bàn giao từ Web Designer thành các component React có thể tái sử dụng ngay lập tức.
  • Di cư dự án cũ (Legacy): Khi chuyển đổi từ kiến trúc jQuery sang các framework hiện đại như Vue/React, công cụ giúp dễ dàng tái cấu trúc mã DOM cơ bản.
  • Sao chép từ UI Kits: Chuyển đổi trực tiếp các khối thiết kế tiêu chuẩn từ các trang như Bootstrap thuần hoặc component Tailwind vào ứng dụng Next.js của bạn một cách dễ dàng và không bị lỗi.

Tất cả danh mục

Gửi phản hồi

Vui lòng cho chúng tôi biết suy nghĩ của bạn để giúp chúng tôi cải thiện công cụ.

Tuyên bố miễn trách nhiệm

Các công cụ được cung cấp trên trang web này hoàn toàn miễn phí, nhưng vui lòng sử dụng theo rủi ro của riêng bạn. Chúng tôi không đảm bảo về độ chính xác, đầy đủ hoặc an toàn của bất kỳ kết quả tính toán, kết quả chuyển đổi hoặc dữ liệu được tạo ra nào. Xin lưu ý rằng người vận hành không chịu trách nhiệm về bất kỳ thiệt hại hoặc sự cố nào gây ra bởi việc sử dụng các công cụ này. Hầu hết các công cụ xử lý tệp và tính toán ngay trong trình duyệt của bạn, nghĩa là dữ liệu bạn nhập không được gửi hoặc lưu trữ trên máy chủ của chúng tôi.