dot.case converter
Turn any text into dot.case — lowercase words joined by full stops, such as feature.flag.enabled. It is handy for developers writing config keys, internationalisation message IDs, feature-flag names and dotted namespaces.
How it works
The converter first tokenises your input into individual words. It inserts a boundary between a lowercase letter or digit and a following uppercase letter (so camelCase splits correctly), handles runs of capitals like HTTPServer, and treats spaces, hyphens, underscores and other punctuation as separators. Each word is then lowercased and the words are joined with a single dot. Because the same word-splitting applies to plain text, camelCase, PascalCase, snake_case and kebab-case, you can paste almost any identifier and get a clean dot.case result.
Conversion examples
| Input | dot.case output |
|---|---|
| Feature Flag Enabled | feature.flag.enabled |
| featureFlagEnabled | feature.flag.enabled |
| feature-flag-enabled | feature.flag.enabled |
| HTTPServerError | http.server.error |
| user_profile_v2 | user.profile.v2 |
| DatabaseConnectionTimeout | database.connection.timeout |
| i18n | i18n |
Everything runs in your browser, so your code never leaves your machine.
Where dot.case is actually used
The separator choice in an identifier is rarely arbitrary — different ecosystems have conventions that developers follow:
Configuration files. Spring Boot (Java) and many .NET libraries use dot-separated property keys in their configuration files, for example spring.datasource.url or logging.level.root. If you are writing an .properties file or YAML config that feeds a Spring application, dot.case is the expected format.
Internationalisation (i18n) message keys. Translation frameworks like i18next, react-intl, and many Vue i18n setups use dot-separated namespace paths for translation strings: auth.login.button.submit or errors.validation.required. Converting a human-readable label to dot.case gives you a ready-to-paste key.
Feature flags. LaunchDarkly, Unleash, and similar feature-flag platforms commonly use dot-separated flag names to express hierarchy: billing.pro.enabled or ui.dark-mode.default-on. The dot structure makes flag lists scannable in a dashboard.
Logging namespaces. The debug package in Node.js (used by Express, Mongoose, and many others) uses dot-separated namespace strings like app.server.request or database.query.slow. Log entries from a system using dot.case namespaces can be filtered and hierarchically enabled at the namespace level.
Difference from kebab-case and snake_case
All three formats lowercase the words and join them with a single separator. The difference is purely the separator character:
dot.case— full stop.— used in config, i18n, and namespaceskebab-case— hyphen-— used in CSS class names, HTML attributes, and URLssnake_case— underscore_— used in Python variable names and SQL column names
The word-splitting logic in this converter is identical to the kebab and snake converters; only the join character changes. If your target system expects a different separator, use the appropriate sibling converter.