jawira/case-converter

Convert strings between 13 naming conventions: Snake case, Camel case, Pascal case, Kebab case, Ada case, Train case, Cobol case, Macro case, Upper case, Lower case, Sentence case, Title case and Dot notation.

Maintainers

πŸ‘ jawira

Package info

github.com/jawira/case-converter

Homepage

pkg:composer/jawira/case-converter

Statistics

Installs: 7 653 701

Dependents: 84

Suggesters: 4

Stars: 174

Open Issues: 0

v3.6.0 2025-06-13 21:12 UTC

Requires

Requires (Dev)

Suggests

Provides

None

Conflicts

None

Replaces

None


README

Use this library to convert string between:

Name Method Output example
πŸͺ Camel case toCamel() myNameIsBond
πŸ‘¨β€πŸ« Pascal case toPascal() MyNameIsBond
🐍 Snake case toSnake() my_name_is_bond
πŸ‘©β€πŸ« Ada case toAda() My_Name_Is_Bond
Ⓜ️ Macro case toMacro() MY_NAME_IS_BOND
πŸ₯™ Kebab case toKebab() my-name-is-bond
πŸš‚ Train case toTrain() My-Name-Is-Bond
🏦 Cobol case toCobol() MY-NAME-IS-BOND
πŸ”‘ Lower case toLower() my name is bond
πŸ”  Upper case toUpper() MY NAME IS BOND
πŸ“° Title case toTitle() My Name Is Bond
✍️ Sentence case toSentence() My name is bond
βš™οΈ Dot notation toDot() my.name.is.bond

Features:

πŸ‘ Packagist Version
πŸ‘ Packagist PHP Version Support
πŸ‘ Packagist Downloads
πŸ‘ Packagist License

πŸ‘ Maintainability
πŸ‘ Test Coverage

Usage

Input string (i.e. john-connor) format is going to be detected automatically. Here's an example:

use Jawira\CaseConverter\Convert;

$hero = new Convert('john-connor');

echo $hero->toCamel(); // output: johnConnor

Of course you can explicitly set the format of input string:

echo $hero->fromKebab()->toSnake(); // output: john_connor

You can also use the provided factory to instantiate Convert class. A list of all public methods is also available.

i18n

Fully compatible with non-english alphabets:

// Spanish
$esp = new Convert('DON_RAMΓ“N_Y_Γ‘OΓ‘O');
echo $esp->toCamel(); // output: donRamΓ³nYΓ‘oΓ±o

// Greek
$grc = new Convert('πολύ-Καλό');
echo $grc->toCamel(); // output: Ο€ΞΏΞ»ΟΞšΞ±Ξ»ΟŒ

// Russian
$rus = new Convert('ΠžΠ§Π•ΠΠ¬_ПРИЯВНО');
echo $rus->toCamel(); // output: ΠΎΡ‡Π΅Π½ΡŒΠŸΡ€ΠΈΡΡ‚Π½ΠΎ

case-converter is compatible with Simple Case-Mapping and Full Case-Mapping. Learn more about Case-Mapping.

Installation

composer require jawira/case-converter

Documentation

https://jawira.github.io/case-converter/

Contributing

License

This library is licensed under the MIT LICENSE.

Packages from jawira

jawira/emoji-catalog πŸ‘ GitHub stars
Get access to +3000 emojis as class constants.
jawira/plantuml-client πŸ‘ GitHub stars
Convert PlantUML diagrams into images (svg, png, ...).
jawira/doctrine-diagram-bundle πŸ‘ GitHub stars
Symfony Bundle to generate database diagrams.
more...