kebab-case Converter
Convert Text to kebab-case for CSS, URLs, and File Names
kebab-case is a naming convention where words are written in lowercase and separated by hyphens, for example, user-profile or background-color. It is the standard format for CSS property names, HTML attributes (aria-label, data-*), URL slugs, and file names in many frontend frameworks. The name comes from the way the words look like they are skewered on a kebab stick.
Unlike snake_case, the hyphen character is treated as a word separator by search engines, making kebab-case the recommended format for SEO-friendly URLs. This converter accepts plain text, camelCase, PascalCase, or snake_case input and outputs clean kebab-case with no consecutive hyphens.
Where is kebab-case the standard naming convention?
kebab-case is the native format for CSS property names (background-color, font-family, border-radius) and HTML attributes (aria-label, data-value, tab-index). It is the convention for URL slugs in most content management systems (/my-blog-post-title), which you can also generate with the Slugify URL Generator. It is used for Angular component selectors, Vue component file names, and npm package names. Many CLI tools and Git branch names also use kebab-case. It is sometimes called dash-case, spinal case, param case, or Lisp case.
Why is kebab-case recommended for URLs and SEO?
Google treats hyphens as word separators in URLs, which means /my-page-title is indexed as three distinct words: "my", "page", and "title". Underscores in snake_case URLs (/my_page_title) are not treated as separators by default, so the entire slug may be read as one token. This makes kebab-case the recommended format for any URL that needs to rank for the individual words it contains. Most CMS platforms, static site generators, and SEO tools default to kebab-case slugs for this reason.
What are other names for kebab-case?
kebab-case is also known as dash-case, hyphen-case, spinal case, param case, caterpillar case, and Lisp case. They all refer to the same convention: lowercase words joined by hyphens. The term "Lisp case" comes from Lisp and its descendants (Clojure, Emacs Lisp) where hyphens are valid in identifiers, making my-function-name a natural naming style.
Can this convert camelCase or snake_case to kebab-case?
Yes. Paste getUserName and the converter outputs get-user-name. Paste get_user_name and it produces the same result. It also handles PascalCase (GetUserName), SCREAMING_SNAKE_CASE (GET_USER_NAME), and plain text. Acronyms like XMLParser become xml-parser, and digit boundaries are detected so myVar2Name becomes my-var-2-name.