Dot Case Converter

Turn any text into 'dot.case' for keys and namespaces.

Free dot.case converter for developers. Paste any text and get lowercase dot-separated output for config keys and namespaces. Runs entirely in your browser — nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is dot.case?

Dot.case writes words in lowercase separated by full stops, like 'feature.flag.enabled'. It is common in configuration keys, i18n message IDs and dotted namespaces.

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

Inputdot.case output
Feature Flag Enabledfeature.flag.enabled
featureFlagEnabledfeature.flag.enabled
feature-flag-enabledfeature.flag.enabled
HTTPServerErrorhttp.server.error
user_profile_v2user.profile.v2
DatabaseConnectionTimeoutdatabase.connection.timeout
i18ni18n

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 namespaces
  • kebab-case — hyphen - — used in CSS class names, HTML attributes, and URLs
  • snake_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.