Loading tool...
Convert audio files between WAV, MP3, OGG, AAC, M4A, FLAC formats online. Adjust bitrate and quality settings. Free browser-based conversion with no file uploads to servers.
Extract text from images using advanced OCR. Supports 18+ languages, page segmentation modes, confidence scores, and multi-format export.
Compare texts with side-by-side and unified diff views, line-by-line or character-level comparison, change statistics, and export to patch file
Convert text between 12 different case formats instantly with our comprehensive Text Case Converter. Different programming languages, style guides, and documentation standards use different naming conventions, and manually converting between formats is tedious and error-prone. This tool automatically transforms text between UPPERCASE, lowercase, Title Case, camelCase, PascalCase, snake_case, kebab-case, and specialized formats like dot.case, CONSTANT_CASE, and alternating case. Whether you're generating variable names for code that matches language conventions, converting headings between document formats, standardizing naming schemes across databases and APIs, or transforming acronyms and abbreviations into readable formats, this converter handles all scenarios instantly. The real-time conversion as you type lets you see results immediately, and one-click copying makes integration into your work effortless.
Transform variable names between programming language conventions, converting camelCase from JavaScript to snake_case for Python or CONSTANT_CASE for configuration values.
Convert between Title Case, sentence case, and lowercase for consistent heading formatting across documents, blogs, and content management systems.
Convert between snake_case database column names and camelCase for API responses, ensuring consistency between database schema and application code.
Generate kebab-case CSS class names from descriptive text, ensuring compatibility with CSS naming conventions and maintaining consistency across stylesheets.
Convert between data format naming conventions when integrating APIs, transforming camelCase from one API to snake_case for another without manual renaming.
Convert code identifiers to readable text case for documentation, automatically generating readable versions of variable and function names for user-facing documentation.
Text case conventions in programming are far more than cosmetic preferences — they are deeply embedded in the culture, tooling, and compiler expectations of different programming languages, and understanding their origins reveals fascinating history about how software development practices evolved.
The term "camelCase" was popularized in the 1990s, though the practice of concatenating words with medial capitals dates back to chemical naming conventions and early programming languages like Smalltalk. The name itself is a visual metaphor: the uppercase letters in the middle of a compound word resemble the humps of a camel. CamelCase became the dominant convention in Java (for method and variable names) and later JavaScript, where Douglas Crockford's influential style guides cemented its status. PascalCase — where the first letter is also capitalized — takes its name from the Pascal programming language developed by Niklaus Wirth in the 1970s, which used this convention for type and procedure names.
Snake_case, where words are separated by underscores and typically lowercased, has its roots in C programming and was later adopted by Python (following Guido van Rossum's PEP 8 style guide), Ruby, and Rust. The convention arose partly because early C compilers treated identifiers as case-insensitive, making capitalization-based conventions unreliable. Kebab-case (words separated by hyphens) emerged from Lisp, one of the oldest programming languages, where hyphens are valid identifier characters — something most C-family languages do not allow since the hyphen doubles as a minus operator. This is why kebab-case is primarily seen in CSS class names, URL slugs, and configuration files rather than in variable names.
CONSTANT_CASE (screaming snake case) signals immutability and is used across nearly all languages for constants and environment variables — a convention dating back to C preprocessor macros, where uppercase names distinguished compile-time constants from runtime variables.
Unicode adds significant complexity to case conversion. While ASCII case conversion is a simple offset calculation (A=65, a=97), Unicode defines case mappings that can change string length: the German eszett (ß) uppercases to "SS," and the Turkish dotted/dotless I (İ/ı) follows different rules than English. The Unicode Standard dedicates an entire chapter to case mapping, defining three forms: uppercase, lowercase, and titlecase (where only the first character changes). Locale-aware case conversion must consider these rules, which is why naive implementations using simple ASCII-based logic can produce incorrect results for internationalized text. Modern programming languages address this through locale-sensitive string operations, but edge cases remain a common source of bugs in multilingual applications.
camelCase starts with lowercase (myVariable), while PascalCase starts with uppercase (MyVariable). Both capitalize subsequent words.
It depends on the language and context: JavaScript uses camelCase for variables, Python uses snake_case, CSS uses kebab-case, and constants typically use CONSTANT_CASE.
All processing happens directly in your browser. Your files never leave your device and are never uploaded to any server.