Path Case Converter
Convert text to path/case online - lowercase words joined by forward slashes. Free path case converter for file paths and URLs.
Three steps to get started
Paste your text
Enter any text, phrase, camelCase, snake_case, or other format into the input.
Converts to path/case
All letters lowercased and joined with forward slashes - like this/is/path/case.
Copy the result
Click Copy and paste into your file path, URL pattern, or routing config.
What is path case?
Path case is a naming convention in which every word is lowercased and the words are joined with forward slashes, producing identifiers like user/account/settings. Unlike the flat conventions it sits beside, path case encodes a hierarchy: each slash implies containment, so the string reads as a tree walked from root to leaf rather than as a single label.
The forward slash inherited this meaning from Multics and then Unix, where / has been the directory separator since the early 1970s. RFC 3986 carried it into URIs, defining the path component as a sequence of segments delimited by slashes, which is why the same shape works equally well for a folder on disk and for a REST endpoint. Windows uses a backslash natively but accepts forward slashes in nearly every API, and Node's path.posix plus Go's path package both standardise on the forward-slash form for portability.
Places this shape shows up daily:
- REST endpoints:
/api/v1/orders/history,/auth/token/refresh - Next.js and Remix file routing: a folder path such as
app/dashboard/billingliterally becomes the URL - S3 and object storage keys:
invoices/2026/q1/acme-corp- slashes are just characters in the key, but consoles render them as folders - Kubernetes and OpenAPI references:
#/components/schemas/User - Import specifiers:
utils/string/format,@scope/pkg/sub/module - i18n translation keys:
checkout/errors/card-declined
Gotchas when generating paths
A leading slash changes meaning entirely: /users/profile is absolute while users/profile is relative to wherever resolution starts. This converter emits the relative form, so add the leading slash yourself if your router expects one. Trailing slashes matter too - many frameworks and CDNs treat /docs/intro and /docs/intro/ as distinct URLs and will issue a 301 redirect between them, which quietly costs a round trip on every request.
Be careful with words that already contain a slash or with user-supplied text, since ../ sequences in a generated path are the classic ingredient of a directory-traversal bug. And remember that path case is not a URL slug: a slug is one flat segment such as my-post-title, whereas path case explodes the same phrase into my/post/title. Input in any format - spaces, dots, underscores, hyphens, or camelCase - is split on those boundaries and rejoined. Conversion is done with local JavaScript, so nothing you paste is transmitted anywhere.