dot.case lowercases every word and joins them with periods instead of spaces or hyphens — like "user.first.name". It shows up in configuration keys, namespaced settings, and some file-naming conventions where dots serve as a hierarchy separator. This converter breaks your input into words wherever it finds spaces, hyphens, underscores, digits, or an existing uppercase letter starting a new word, then rejoins them with dots.
Spaces, hyphens, underscores, digit runs, and transitions between lowercase and uppercase letters all split the input into separate words before they're rejoined with dots, so this works on snake_case, kebab-case, camelCase, and plain sentences alike.
It's common in config files and environment settings (like "database.connection.timeout"), Java package-style namespacing, and some CLI flag or property naming conventions where dots express nested structure.
Yes — runs of digits are treated as their own word, so "user2 name" becomes "user2.name" rather than merging the digits into the surrounding text.