change-case

Transform strings between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and more

Library
npm
v5.4.4
2,406stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
45/100Fair
Development Activity0
Maintenance32
Community48
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture78
Code Quality85
Innovation65
Learning Curve90

change-case is a small, dependency-free TypeScript library for converting strings between virtually every common casing convention — camelCase, PascalCase, snake_case, kebab-case (param-case), CONSTANT_CASE, Capital Case, dot.case, path/case, and more — as one package exporting a dedicated function per case.

As of v5, the project consolidated what used to be a dozen+ separately published packages (camel-case, pascal-case, snake-case, param-case, etc.) into this single change-case package sharing one word-splitting engine, so consumers pull in one dependency instead of a chain of tiny ones.

What You Get

  • Dedicated conversion functions for camelCase, pascalCase, snakeCase, kebabCase, constantCase, capitalCase, dotCase, pathCase, sentenceCase, and more, all from one package
  • A shared, locale-aware split() word-boundary engine that correctly handles Unicode, acronyms, and embedded numbers
  • Configurable options per conversion (custom delimiter, prefix/suffix character preservation, custom split function)
  • Zero runtime dependencies and full TypeScript types out of the box
  • Companion packages (sponge-case, swap-case, title-case) in the same monorepo for less common transformations

Common Use Cases

  • Converting API response keys from snake_case to camelCase (or vice versa) at a serialization boundary
  • Generating consistent file, class, or variable names from user input or CMS-entered titles in a code generator
  • Normalizing CSS class names or HTML attribute names between kebab-case and camelCase in a styling utility
  • Building CLI scaffolding tools that need to derive multiple casing variants of a single project/feature name

Under The Hood

Architecture — The monorepo (managed via ts-scripts) currently ships four packages under packages/: the consolidated change-case package containing every mainstream case converter as named exports from one src/index.ts, plus three standalone packages (sponge-case, swap-case, title-case) for transformations that don’t fit the shared splitting model. change-case’s core is a regex-based split() function using Unicode-aware patterns (\p{Ll}, \p{Lu}) to find word boundaries across lower-to-upper transitions, consecutive-uppercase acronym boundaries, and embedded digits, then every case function (camelCase, snakeCase, etc.) is a thin wrapper that calls split() and re-joins words with the right delimiter and capitalization rule. Tech Stack — Pure TypeScript, ESM-only (type: module), built and tested via the shared ts-scripts tooling with Vitest for both specs (*.spec.ts) and benchmarks (bench script), no runtime dependencies at all. Code Quality — Every exported function has a colocated .spec.ts file (index.spec.ts, keys.spec.ts) exercising edge cases like consecutive acronyms and Unicode input; the package is feature-complete and stable but has seen no commits in roughly a year, reflecting a mature, effectively ‘done’ library rather than active development. API Design — The v5 redesign’s biggest ergonomic win is exporting every case function from one root import (import { camelCase, snakeCase } from 'change-case') instead of installing a separate package per case, while keeping each function’s signature simple (string in, options object optional, string out) with no class instances or configuration objects required for the common path.

Used by 13 apps in this directory

Python
54%
Other

authentik

Authentication · Security

24,980

The self-hosted Identity Provider that replaces Okta, Auth0, and Entra ID with a unified SSO platform supporting SAML, OAuth2/OIDC, LDAP, RADIUS, and WebAuthn.

View details
92
Repo Health
81
Technical
68
Dependency
Built with
Python54%
TypeScript33%
Updated today
TypeScript
92%
MIT

Dittofeed

Marketing · Automation

2,903

Open-source omni-channel customer engagement platform for automating transactional and marketing messages via email, SMS, WhatsApp, Slack, and mobile push.

View details
54
Repo Health
75
Technical
63
Dependency
Built with
TypeScript92%
Updated 4 months ago
Java
34%
Apache 2.0

Enso

Analytics · Data Engineering · Low Code Platforms

7,437

A visual and textual programming platform for data prep and analysis where the node graph and the underlying Enso code are always perfectly in sync, built by an Alteryx co-founder on a GraalVM engine.

View details
70
Repo Health
90
Technical
62
Dependency
Built with
Java34%
TypeScript27%
Scala26%
Updated 1 weeks ago
Vue
50%
GPL 3.0

IT-Tools

Developer Tools

40,279

A unified collection of 88 web-based developer utilities — from JSON formatting to subnet calculation — all self-hostable, keyboard-searchable, and offline-ready.

View details
60
Repo Health
74
Technical
67
Dependency
Built with
Vue50%
TypeScript48%
Updated 3 days ago
Java
59%
Apache 2.0

Kestra

Devops · Data Engineering · Automation

27,853

Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.

View details
94
Repo Health
81
Technical
75
Dependency
Built with
Java59%
TypeScript23%
Vue15%
Updated today
Clojure
73%
AGPL 3.0

Logseq

Note Taking · Knowledge Management

44,506

A privacy-first, open-source knowledge graph platform combining Markdown, Org-mode, bidirectional linking, and local-first storage for building your second brain.

View details
92
Repo Health
82
Technical
68
Dependency
Built with
Clojure73%
OCaml11%
Updated today
TypeScript
76%
AGPL 3.0

massCode

Developer Tools · Productivity · Code Editors

6,959

A free, local-first developer workspace unifying snippets, notes, HTTP requests, calculations, drawings, and dev tools in one desktop app.

View details
86
Repo Health
87
Technical
64
Dependency
Built with
TypeScript76%
Vue22%
Updated 2 days ago
TypeScript
96%
AGPL 3.0

Midday

Invoicing Finance · Productivity

14,770

All-in-one AI-powered business operations platform for freelancers and solo entrepreneurs to manage invoicing, time tracking, banking, and financial intelligence.

View details
56
Repo Health
78
Technical
72
Dependency
Built with
TypeScript96%
Updated 2 months ago
TypeScript
92%
Other

n8n

Automation · No Code Platforms

201,152

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
66
Dependency
Built with
TypeScript92%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search