What is dot.case, and what is this converter for?
Dot case is a naming convention where every word in a phrase is lowercased and joined together with periods — turning "User Profile Name" or "userProfileName" into user.profile.name. This tool converts any input — plain sentences, hyphenated phrases, or camelCase/PascalCase variable names — into dot.case instantly, entirely as JavaScript inside your browser. There's no upload and no server round-trip, so your code or data never leaves your device.
How word boundaries are detected
The converter splits your input wherever a new word logically begins: at spaces, hyphens, underscores, and at the transition from a lowercase letter to an uppercase letter (as in "userProfile" → "user" + "Profile"). It also handles consecutive capitals correctly, so "UserID" becomes user.id rather than user.i.d. Detected words are then rejoined using the rules of whichever case style you select.
dot.case vs. dotted namespaces
Dot case is just a word-separator convention — like snake_case but with periods instead of underscores. It's worth noting this is different from a genuine namespace or file path, where each segment can itself carry independent meaning (like a Java package or a nested config key). This tool formats a single name into dot-separated words; it doesn't validate or resolve namespace structure.
Where dot.case is used
- Java & Kotlin packages — package names conventionally use lowercase dot notation, like
com.example.app. - i18n / l10n translation keys — localization files commonly key strings as
errors.form.required. - Nested config keys — JSON, YAML and .env-style configs sometimes flatten nested keys with dots, like
database.connection.timeout. - Object property paths — utility libraries like Lodash use dot notation in
_.get(obj, 'user.profile.name'). - Analytics event naming — some analytics platforms recommend dot-separated event names, like
checkout.step.completed.
Naming convention comparison
| Case style | Example | Common use |
|---|---|---|
| dot.case | user.profile.name | Java packages, i18n keys, config paths |
| snake_case | user_profile_name | Python/Ruby/Rust variables, DB columns |
| kebab-case | user-profile-name | URL slugs, HTML attributes, CSS classes |
| camelCase | userProfileName | JavaScript/Java variables & functions |
| PascalCase | UserProfileName | Class names, C#/Java types, React components |