Đổi Case Văn Bản

Chuyển văn bản giữa camelCase, snake_case, kebab-case, PascalCase, CONSTANT_CASE và 8 dạng khác. Chỉ trong browser.

text-regex

Text Case Converter

camelCase
PascalCase
snake_case
kebab-case
CONSTANT_CASE
dot.case
path/case
Sentence case
Capital Case
Train-Case
UPPERCASE
lowercase

Runs entirely in your browser. Your input never leaves your device.

What next?

How it works

"Case" trong code thực ra là gì

Khi tên chứa nhiều từ, bạn cần separator và quy tắc viết hoa. Cộng đồng ngôn ngữ khác nhau chọn combination khác nhau, và convention ổn định đáng kể qua nhiều thập kỷ code:

  • JavaScript / Java / Swift: camelCase cho biến và hàm, PascalCase cho type và class.
  • Python / Ruby / Rust: snake_case cho biến và hàm, PascalCase cho class.
  • CSS / HTML attribute / URL: kebab-case vì dấu cách bị reserve.
  • Env var / SQL keyword / Constant: CONSTANT_CASE (hoặc SCREAMING_SNAKE).
  • Filesystem path: path/case với separator /.
  • Dot notation (config key, namespace): dot.case.

Chọn convention của file bạn đang edit. Đừng đánh — convention là thứ giúp code đọc như văn xuôi với người biết ngôn ngữ.

Khi nào cần converter

  • Tạo env var từ config key (api.timeoutAPI_TIMEOUT).
  • Build CSS class name từ React prop (primaryButtonprimary-button).
  • Đặt tên cột database từ object property (firstNamefirst_name).
  • Code generation xuyên ngôn ngữ (TypeScript → Python ORM, Swagger → JS client).
  • Rename biến nhất quán qua refactor.

Bẫy acronym

Phiên bản snake_case của XMLHttpRequest là gì? Hai đáp án hợp lý:

  • xml_http_request — xem mỗi acronym là một từ
  • x_m_l_http_request — xem mỗi chữ hoa là biên từ

Hầu hết library hiện đại (kể cả cái tool này wrap, change-case) làm cái đầu — chúng nhận diện run chữ hoa là acronym. Đó là convention bạn hầu như luôn muốn. Nếu library cho dạng thứ hai, đổi library.

camelCase tương ứng: xmlHttpRequest. PascalCase: XmlHttpRequest. Lưu ý chữ thường trong acronym — cố ý và khớp cách browser thực sự expose tên.

Pattern thông dụng theo ecosystem

| Use case | Convention | Ví dụ | |---|---|---| | Biến JS | camelCase | firstName | | Class/type JS | PascalCase | UserService | | Const JS (global) | CONSTANT_CASE | MAX_RETRIES | | Biến Python | snake_case | first_name | | Class Python | PascalCase | UserService | | Class CSS | kebab-case | btn-primary | | HTML attribute | kebab-case | data-user-id | | URL slug | kebab-case | /my-blog-post | | Filename | kebab-case (web), snake_case (Python) | user-profile.tsx / user_profile.py | | Env var | CONSTANT_CASE | DATABASE_URL | | GraphQL field | camelCase | userName | | JSON API field | camelCase hoặc snake_case (chọn theo project) | firstName / first_name |

Tính nhạy case file

macOS mặc định filesystem không phân biệt case (HFS+/APFS format vậy). Linux phân biệt case. NTFS Windows không phân biệt nhưng giữ case. Cắn project cross-platform: file Button.tsx import là ./button.tsx work trên macOS, vỡ trong CI trên Linux. Set CI là Linux từ ngày đầu để bắt ngay.

Tool này giúp thế nào

  • Paste văn bản một lần, thấy cả 12 biến thể case cùng lúc.
  • Click bất cứ output nào để copy.
  • Xử lý acronym đúng (dùng change-case).
  • Work trên input nhiều dòng (mỗi dòng convert độc lập).

Công cụ liên quan

  • Slugify — khi cần output URL-safe (xử lý dấu, unicode, emoji).
  • Regex Tester — khi cần find/replace pattern case lập trình.

FAQ

camelCase vs PascalCase?

Cùng biên từ, khác ký tự đầu. helloWorld là camelCase (đầu thường), HelloWorld là PascalCase (đầu hoa). Convention JavaScript/Java: camelCase cho biến, PascalCase cho class/type.

Vì sao CSS dùng kebab-case?

_ và ký tự khác có ý nghĩa cụ thể trong CSS đầu, và - đã dùng làm syntax character. CSS hiện đại vẫn dùng kebab-case cho class name và property (background-color, không phải backgroundColor).

Convention đặt tên env var?

CONSTANT_CASE (chữ hoa với underscore). Universal qua shell, ngôn ngữ lập trình, container runtime. DATABASE_URL, API_KEY, NODE_ENV.

Xử lý acronym — Url hay URL?

Style hiện đại: Url (xem acronym như từ thường). Style cũ: URL (giữ all-caps). Stdlib JavaScript hầu hết dùng Url (XMLHttpRequest là ngoại lệ nổi tiếng — và bạn thấy vì sao người ta tiếc nuối). Chọn một và áp dụng nhất quán.

Văn bản của tôi có được gửi đi đâu không?

Không — mọi conversion chạy trong browser dùng library mã nguồn mở change-case. Network tab sẽ thấy zero request.