dot.case Converter

Convert text to dot.case notation for config keys and file paths. Free online dot.case converter, no signup needed.

🔒 Your text stays in your browser - nothing is sent to our servers
Input
0Characters
0No spaces
0Words
0Sentences
0Lines
< 1 minRead time
Result
How to Use

Three steps to get started

1

Paste your text

Enter a phrase or identifier in any format.

2

Converts to dot.case

All words lowercased and joined with dots: my.config.key.

3

Copy the result

Click Copy and paste into your config or property file.

About This Tool

dot.case: for config keys and package namespaces

dot.case is a naming convention in which every word is lowercase and words are joined by periods, as in app.database.pool.size. Unlike its flat cousins snake_case and kebab-case, the dot carries meaning: it reads as ahierarchy separator. Each segment narrows the scope of the one before it, which is exactly why it dominates configuration systems and package namespaces rather than variable names.

Where you will actually encounter dot.case:

  • Java and Kotlin packages: com.mycompany.billing.invoice - the reverse-domain rule from the Java Language Specification
  • Spring Boot application.properties: spring.datasource.url, server.port, management.endpoints.web.exposure.include
  • OpenTelemetry semantic conventions: http.request.method, db.system.name
  • Logging hierarchies in Log4j, Logback, and Python's logging: a logger named app.service.user inherits configuration from app.service
  • Feature flags and analytics events: checkout.payment.failed
  • Android and iOS bundle identifiers: com.example.myapp

When should you avoid dot.case?

The period is overloaded almost everywhere else, so dot.case breaks in more places than it works. No mainstream language allows a dot inside an identifier - user.name in JavaScript, Python, or Java is property access, not a variable. In JSON and YAML tooling a dotted key is frequently interpreted as a nested path, so {"a.b": 1} may silently become {"a": {"b": 1}}. In file names everything after the final dot is treated as an extension, so my.report.draft looks like a file of type .draft. Shell globbing, DNS labels, and CSS selectors each assign the dot their own meaning too.

Choosing between the lowercase-with-separator family is mostly about the target system: use dot.case for namespaced config keys and packages, snake_case for Python and SQL columns, and kebab-case for URLs and CSS. A useful habit is to keep segments short and singular - api.timeout.ms rather than api.request.timeouts.in.milliseconds - because deep dotted keys become painful to grep and to override from environment variables, where Spring Boot expects SPRING_DATASOURCE_URL.

Paste any format - a sentence, camelCase, PascalCase, hyphens, underscores, or a mix - and the converter normalizes word boundaries before joining them with dots. Everything runs as JavaScript inside your own tab: nothing is uploaded, nothing is logged, and there is no length cap.

FAQ

Frequently Asked Questions

Related Tools