Công cụ định dạng & làm đẹp JavaScript

Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.

Cập nhật
 
JavaScript đã định dạng
 

Dữ liệu của bạn không bao giờ rời khỏi máy tính. Mọi xử lý diễn ra 100% cục bộ trong trình duyệt của bạn.

Công cụ này có hữu ích không?0.0 0 lượt đánh giá
Chuyển code thành ảnh đẹp cho tài liệu, slide và mạng xã hộiChọn theme tô màu cú pháp, khung cửa sổ, nền và số dòng.Code sang ảnh →

Cách dùng Định dạng JavaScript

  1. Dán JavaScript (hoặc JSON/JSX) vào Input JavaScript, kéo thả tệp .js, hoặc nhấn Sample.
  2. Chọn kiểu thụt lề, độ rộng ngắt dòng (tùy chọn) và kiểu dấu ngoặc. Kết quả sẽ cập nhật ngay lập tức.
  3. Sao chép hoặc tải kết quả về. Dùng chế độ Minify để xóa chú thích và khoảng trắng trong một đoạn script nhỏ.

Công cụ định dạng JavaScript là gì?

Công cụ định dạng JavaScript (hay beautifier) thụt lề lại mã nguồn và tách các câu lệnh, thuộc tính đối tượng và khối lệnh thành từng dòng riêng. Công việc phổ biến nhất của nó là giải nén các gói mã production để bạn đọc khi gỡ lỗi, nhưng nó cũng rất hữu ích để dọn dẹp một đoạn code từ Stack Overflow, bookmarklet hay mã được dán từ đoạn chat. Công cụ này dùng js-beautify, hỗ trợ cú pháp hiện đại: arrow function, class, template literal, async/await, optional chaining, ES module và JSX.

Kiểu dấu ngoặc

Tùy chọnKết quả
Cùng dòng (K&R / “1TBS”)if (ok) { — quy ước phổ biến trong hầu hết hướng dẫn phong cách JavaScript và Prettier.
Cùng dòng, giữ inlineGiống trên, nhưng các khối ngắn như { a: 1 } vẫn nằm trên một dòng.
Xuống dòng (Allman)Dấu ngoặc mở nằm riêng một dòng, thường thấy trong các dự án C#.
else xuống dòng mới} và else nằm trên hai dòng riêng (tương tự Stroustrup).

Làm đẹp khác với giải mã (deobfuscate)

Các công cụ minify như Terser hay esbuild đổi tên biến cục bộ thành một ký tự (function(e,t){…}). Định dạng lại giúp khôi phục bố cục nhưng không thể lấy lại tên gốc hay chú thích, vì những thông tin đó đã bị xóa. Nếu trang web có publish source map (//# sourceMappingURL=), DevTools của trình duyệt có thể hiển thị mã nguồn gốc. Còn mã đã được làm rối có chủ đích (mảng chuỗi, đóng gói bằng eval) vẫn khó đọc dù đã được định dạng.

Về bộ thu gọn

Chế độ Minify là bộ thu gọn khoảng trắng và chú thích an toàn, không phải bộ nén đầy đủ. Nó phân tích mã đúng cách (chuỗi, template literal, regular expression) và xóa chú thích cùng khoảng trắng, nhưng giữ lại ngắt dòng ở những chỗ việc xóa có thể làm thay đổi cơ chế tự động chèn dấu chấm phẩy (ASI), ví dụ sau return hoặc trước ++. Mỗi kết quả đều được kiểm tra hai lần: chuỗi token phải giống hệt đầu vào, và đầu ra phải parse được. Bạn có thể tiết kiệm khoảng 20–40% dung lượng; với gói production, một công cụ build như Terser hay esbuild còn đổi tên biến và loại bỏ code thừa để giảm dung lượng nhiều hơn.

Các lỗi thường gặp

  • “Không parse được như JavaScript thuần” — hiện khi gặp TypeScript, JSX hoặc lỗi cú pháp thật. Việc định dạng vẫn hoạt động; còn chức năng minify yêu cầu JavaScript hợp lệ.
  • JSON được định dạng tốt ở đây, nhưng JSON Formatter còn kiểm tra tính hợp lệ và chỉ ra chính xác lỗi.
  • Muốn so sánh một tệp trước và sau khi thay đổi? Dán cả hai phiên bản vào Diff Checker.

Cũng được tìm dưới tên: js beautifier, làm đẹp code js, format javascript online, unminify js, minify javascript, công cụ format js, jsx formatter.

Các công cụ dùng kèm tốt với Định dạng JavaScript

  • Code sang ảnh — Dán một đoạn code và nhận ngay ảnh chụp code đẹp mắt chỉ trong vài giây: tô màu cú pháp cho JavaScript, TypeScript, Python, CSS, HTML, JSON, SQL, Bash, Go và PHP, nhiều theme để chọn, khung cửa sổ có tên file, nền gradient hoặc trong suốt, khoảng đệm và số dòng.
  • Định dạng HTML — Dán mã HTML đã nén hoặc lộn xộn và nhận lại HTML được thụt lề rõ ràng, nhất quán — bao gồm cả các khối <style> và <script> nhúng bên trong.
  • Định dạng CSS — Chuyển stylesheet đã nén thành CSS dễ đọc, mỗi thuộc tính một dòng và các khối @media được lồng đúng cấu trúc.
  • Kiểm tra Regex — Nhập mẫu và xem các kết quả khớp được tô sáng ngay trong văn bản thử nghiệm.

Câu hỏi thường gặp

Công cụ này có giải nén được JavaScript từ website không?
Có. Dán nội dung của tệp .min.js và nó sẽ được trình bày dễ đọc. Tên biến bị bộ minify rút gọn (như e, t, n) không thể khôi phục, và chú thích đã mất vĩnh viễn.
Có hỗ trợ TypeScript và JSX không?
JSX được hỗ trợ. Hầu hết mã TypeScript được định dạng khá ổn vì cú pháp gần với JavaScript, nhưng mã nhiều kiểu dữ liệu (generic, decorator) sẽ được xử lý tốt hơn bằng Prettier. Bộ minify chỉ chấp nhận JavaScript thuần.
Bộ thu gọn có an toàn khi dùng với code của tôi không?
Nó chỉ xóa chú thích và khoảng trắng, đồng thời giữ lại ngắt dòng ở những chỗ việc tự động chèn dấu chấm phẩy có thể phụ thuộc vào chúng. Mỗi kết quả đều được kiểm tra để đảm bảo có cùng token với đầu vào và vẫn parse được; nếu một bước kiểm tra thất bại, sẽ không có đầu ra nào. Dù vậy, hãy kiểm thử trước khi triển khai.
Tại sao code của tôi không được thu gọn nhiều bằng Terser?
Terser và esbuild còn đổi tên biến, inline hằng số và loại bỏ code không thể truy cập. Công cụ này cố ý không viết lại code để đầu ra vẫn dễ nhận biết. Hãy dùng bundler cho các bản build production.
Code của tôi có bị tải lên không?
Không. Việc định dạng và thu gọn diễn ra cục bộ trên trình duyệt của bạn; code của bạn không rời khỏi thiết bị.
Tôi có thể cài Định dạng JavaScript như một ứng dụng web và dùng khi không có mạng không?
Có. Định dạng JavaScript là một ứng dụng web (PWA) có thể cài đặt — cài trực tiếp từ trình duyệt, không cần tải từ cửa hàng ứng dụng. Trên Chrome hoặc Edge (Windows, macOS, Linux, ChromeOS) hoặc Android, bấm Cài đặt ứng dụng ở đầu trang này; trên iPhone và iPad, dùng Chia sẻ → Thêm vào Màn hình chính; trên Mac, dùng File → Add to Dock trong Safari 17 trở lên. Sau đó ứng dụng mở trong cửa sổ riêng với biểu tượng riêng, và vì chạy hoàn toàn trên trình duyệt nên vẫn hoạt động khi không có mạng. Firefox trên máy tính không thể cài ứng dụng web. Cách cài đặt hoạt động thế nào.

Công cụ liên quan