Đổ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 Case Converter
————————————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:
camelCasecho biến và hàm,PascalCasecho type và class. - Python / Ruby / Rust:
snake_casecho biến và hàm,PascalCasecho class. - CSS / HTML attribute / URL:
kebab-casevì dấu cách bị reserve. - Env var / SQL keyword / Constant:
CONSTANT_CASE(hoặcSCREAMING_SNAKE). - Filesystem path:
path/casevớ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.timeout→API_TIMEOUT). - Build CSS class name từ React prop (
primaryButton→primary-button). - Đặt tên cột database từ object property (
firstName→first_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ì _ 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.