What dot.case is
dot.case puts a full stop between words and keeps every letter lowercase:
Database Connection Urlbecomesdatabase.connection.urlhomePageTitlebecomeshome.page.titleerror_message_requiredbecomeserror.message.required
The dots usually express a hierarchy. In app.server.port, “port” belongs to “server”, which belongs to “app”.
How the converter works
The tool finds the words on each line, lowercases them and joins them with dots. Words can be separated by spaces, underscores, hyphens or slashes, or by the capital letters in camelCase and PascalCase names. Each line is converted on its own, so a list of keys stays a list.
| Input | Output |
|---|---|
| Database Connection Url | database.connection.url |
| homePageTitle | home.page.title |
| error_message_required | error.message.required |
| checkout-button-label | checkout.button.label |
Where dot.case is used
- Configuration files. Java
.propertiesfiles and Spring Boot settings use keys such asspring.datasource.urlandserver.port. - Translation files. Keys such as
checkout.button.labelgroup text by screen and element, which keeps large translation files organized. - Package names. Java and Kotlin packages are lowercase words joined by dots:
com.example.shop. - Logging and metrics. Logger names and metric names often follow the pattern
service.component.event. - Feature flags and analytics events. Names such as
billing.invoice.sentare easy to filter by prefix.
Why teams choose dotted keys
Dotted keys sort well. All keys that start with checkout. appear together in an alphabetical list, so related settings and strings stay side by side. Many tools also understand the dots and can show the keys as a tree.
Things to watch
- Order matters. Go from general to specific:
email.subject.welcome, notwelcome.subject.email. - Multi-word parts need another style. If one level has two words, combine styles:
checkout.shipping-address.labelorcheckout.shippingAddress.label. The converter puts a dot between every word, so join those parts by hand. - Not for code identifiers. In code, use camelCase or snake_case.