Convert camel case to kebab case and vice versa

Switch a single identifier between camelCase and kebab-case.

JavaScript Version 1.0.0 · MIT · .md

convert-camel-case-to-kebab-case-and-vice-versa.js
function convertCase({ value, to }) { return to === 'kebab' ? value.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase() : value.replace(/-./g, match => match[1].toUpperCase()); }

Input & expected output

Input

{
  "value": "deliveryStatus",
  "to": "kebab"
}

Expected output

"delivery-status"

The edge case

Input

{
  "value": "delivery-status",
  "to": "camel"
}

Expected output

"deliveryStatus"

Know the limits

  • The original page offered two functions; here one takes the target as to: "kebab" or "camel".
  • Acronyms such as "HTMLBody" become "htmlbody"; handle them separately.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Convert camelCase to kebab-case and vice versa from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Combines the two original functions behind a to option. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.