| # Change Case | 
|   | 
| [![NPM version][npm-image]][npm-url] | 
| [![NPM downloads][downloads-image]][downloads-url] | 
| [![Build status][travis-image]][travis-url] | 
| [![Test coverage][coveralls-image]][coveralls-url] | 
|   | 
| Convert strings between `camelCase`, `PascalCase`, `Title Case`, `snake_case`, `lowercase`, `UPPERCASE`, `CONSTANT_CASE` and more. | 
|   | 
| All methods support Unicode (non-ASCII characters) and non-string entities, such as objects with a `toString` property, numbers and booleans. Empty values (`null` and `undefined`) will result in an empty string. | 
|   | 
| **Methods are also available on npm as an individual packages.** | 
|   | 
| ## Installation | 
|   | 
| ``` | 
| npm install change-case --save | 
| ``` | 
|   | 
| ## Usage | 
|   | 
| ```js | 
| var changeCase = require('change-case') | 
| //=> { isUpperCase: [Function], camelCase: [Function], ... } | 
| ``` | 
|   | 
| **Available methods** (short-hand shown below, long-hand available in examples): | 
|   | 
| * [`camel`](#camelcase) | 
| * [`constant`](#constantcase) | 
| * [`dot`](#dotcase) | 
| * [`header`](#headercase) | 
| * [`isLower`](#islowercase) | 
| * [`isUpper`](#isuppercase) | 
| * [`lower`](#lowercase) | 
| * [`lcFirst`](#lowercasefirst) | 
| * [`no`](#nocase) | 
| * [`param`](#paramcase) | 
| * [`pascal`](#pascalcase) | 
| * [`path`](#pathcase) | 
| * [`sentence`](#sentencecase) | 
| * [`snake`](#snakecase) | 
| * [`swap`](#swapcase) | 
| * [`title`](#titlecase) | 
| * [`upper`](#uppercase) | 
| * [`ucFirst`](#uppercasefirst) | 
|   | 
| All methods accept two arguments, the string to change case and an optional locale. | 
|   | 
| ### [camelCase](https://github.com/blakeembrey/camel-case) | 
|   | 
| [](https://npmjs.org/package/camel-case) | 
| [](https://npmjs.org/package/camel-case) | 
| [](https://travis-ci.org/blakeembrey/camel-case) | 
| [](https://coveralls.io/r/blakeembrey/camel-case?branch=master) | 
|   | 
| Return as a string with the separators denoted by having the next letter capitalized. | 
|   | 
| ```js | 
| changeCase.camelCase('test string') | 
| //=> "testString" | 
| ``` | 
|   | 
| ### [constantCase](https://github.com/blakeembrey/constant-case) | 
|   | 
| [](https://npmjs.org/package/constant-case) | 
| [](https://npmjs.org/package/constant-case) | 
| [](https://travis-ci.org/blakeembrey/constant-case) | 
| [](https://coveralls.io/r/blakeembrey/constant-case?branch=master) | 
|   | 
| Return as an upper case, underscore separated string. | 
|   | 
| ```js | 
| changeCase.constantCase('test string') | 
| //=> "TEST_STRING" | 
| ``` | 
|   | 
| ### [dotCase](https://github.com/blakeembrey/dot-case) | 
|   | 
| [](https://npmjs.org/package/dot-case) | 
| [](https://npmjs.org/package/dot-case) | 
| [](https://travis-ci.org/blakeembrey/dot-case) | 
| [](https://coveralls.io/r/blakeembrey/dot-case?branch=master) | 
|   | 
| Return as a lower case, period separated string. | 
|   | 
| ```js | 
| changeCase.dotCase('test string') | 
| //=> "test.string" | 
| ``` | 
|   | 
| ### [headerCase](https://github.com/blakeembrey/header-case) | 
|   | 
| [](https://npmjs.org/package/header-case) | 
| [](https://npmjs.org/package/header-case) | 
| [](https://travis-ci.org/blakeembrey/header-case) | 
| [](https://coveralls.io/r/blakeembrey/header-case?branch=master) | 
|   | 
| Return as a title cased, dash separated string. | 
|   | 
| ```js | 
| changeCase.headerCase('test string') | 
| //=> "Test-String" | 
| ``` | 
|   | 
| ### [isLowerCase](https://github.com/blakeembrey/is-lower-case) | 
|   | 
| [](https://npmjs.org/package/is-lower-case) | 
| [](https://npmjs.org/package/is-lower-case) | 
| [](https://travis-ci.org/blakeembrey/is-lower-case) | 
| [](https://coveralls.io/r/blakeembrey/is-lower-case?branch=master) | 
|   | 
| Return a boolean indicating whether the string is lower cased. | 
|   | 
| ```js | 
| changeCase.isLowerCase('test string') | 
| //=> true | 
| ``` | 
|   | 
| ### [isUpperCase](https://github.com/blakeembrey/is-upper-case) | 
|   | 
| [](https://npmjs.org/package/is-upper-case) | 
| [](https://npmjs.org/package/is-upper-case) | 
| [](https://travis-ci.org/blakeembrey/is-upper-case) | 
| [](https://coveralls.io/r/blakeembrey/is-upper-case?branch=master) | 
|   | 
| Return a boolean indicating whether the string is upper cased. | 
|   | 
| ```js | 
| changeCase.isUpperCase('test string') | 
| //=> false | 
| ``` | 
|   | 
| ### [lowerCase](https://github.com/blakeembrey/lower-case) | 
|   | 
| [](https://npmjs.org/package/lower-case) | 
| [](https://npmjs.org/package/lower-case) | 
| [](https://travis-ci.org/blakeembrey/lower-case) | 
| [](https://coveralls.io/r/blakeembrey/lower-case?branch=master) | 
|   | 
| Return the string in lower case. | 
|   | 
| ```js | 
| changeCase.lowerCase('TEST STRING') | 
| //=> "test string" | 
| ``` | 
|   | 
| ### [lowerCaseFirst](https://github.com/blakeembrey/lower-case-first) | 
|   | 
| [](https://npmjs.org/package/lower-case-first) | 
| [](https://npmjs.org/package/lower-case-first) | 
| [](https://travis-ci.org/blakeembrey/lower-case-first) | 
| [](https://coveralls.io/r/blakeembrey/lower-case-first?branch=master) | 
|   | 
| Return the string with the first character lower cased. | 
|   | 
| ```js | 
| changeCase.lowerCaseFirst('TEST') | 
| //=> "tEST" | 
| ``` | 
|   | 
| ### [noCase](https://github.com/blakeembrey/no-case) | 
|   | 
| [](https://npmjs.org/package/no-case) | 
| [](https://npmjs.org/package/no-case) | 
| [](https://travci.org/blakeembrey/no-case) | 
| [](https://coveralls.io/r/blakeembrey/no-case?branch=master) | 
|   | 
| Return the string without any casing (lower case, space separated). | 
|   | 
| ```js | 
| changeCase.noCase('test string') | 
| //=> "test string" | 
| ``` | 
|   | 
| ### [paramCase](https://github.com/blakeembrey/param-case) | 
|   | 
| [](https://npmjs.org/package/param-case) | 
| [](https://npmjs.org/package/param-case) | 
| [](https://travis-ci.org/blakeembrey/param-case) | 
| [](https://coveralls.io/r/blakeembrey/param-case?branch=master) | 
|   | 
| Return as a lower case, dash separated string. | 
|   | 
| ```js | 
| changeCase.paramCase('test string') | 
| //=> "test-string" | 
| ``` | 
|   | 
| ### [pascalCase](https://github.com/blakeembrey/pascal-case) | 
|   | 
| [](https://npmjs.org/package/pascal-case) | 
| [](https://npmjs.org/package/pascal-case) | 
| [](https://travis-ci.org/blakeembrey/pascal-case) | 
| [](https://coveralls.io/r/blakeembrey/pascal-case?branch=master) | 
|   | 
| Return as a string denoted in the same fashion as `camelCase`, but with the first letter also capitalized. | 
|   | 
| ```js | 
| changeCase.pascalCase('test string') | 
| //=> "TestString" | 
| ``` | 
|   | 
| ### [pathCase](https://github.com/blakeembrey/path-case) | 
|   | 
| [](https://npmjs.org/package/path-case) | 
| [](https://npmjs.org/package/path-case) | 
| [](https://travis-ci.org/blakeembrey/path-case) | 
| [](https://coveralls.io/r/blakeembrey/path-case?branch=master) | 
|   | 
| Return as a lower case, slash separated string. | 
|   | 
| ```js | 
| changeCase.pathCase('test string') | 
| //=> "test/string" | 
| ``` | 
|   | 
| ### [sentenceCase](https://github.com/blakeembrey/sentence-case) | 
|   | 
| [](https://npmjs.org/package/sentence-case) | 
| [](https://npmjs.org/package/sentence-case) | 
| [](https://travis-ci.org/blakeembrey/sentence-case) | 
| [](https://coveralls.io/r/blakeembrey/sentence-case?branch=master) | 
|   | 
| Return as a lower case, space separated string with the first letter upper case. | 
|   | 
| ```js | 
| changeCase.sentenceCase('testString') | 
| //=> "Test string" | 
| ``` | 
|   | 
| ### [snakeCase](https://github.com/blakeembrey/snake-case) | 
|   | 
| [](https://npmjs.org/package/snake-case) | 
| [](https://npmjs.org/package/snake-case) | 
| [](https://travis-ci.org/blakeembrey/snake-case) | 
| [](https://coveralls.io/r/blakeembrey/snake-case?branch=master) | 
|   | 
| Return as a lower case, underscore separated string. | 
|   | 
| ```js | 
| changeCase.snakeCase('test string') | 
| //=> "test_string" | 
| ``` | 
|   | 
| ### [swapCase](https://github.com/blakeembrey/swap-case) | 
|   | 
| [](https://npmjs.org/package/swap-case) | 
| [](https://npmjs.org/package/swap-case) | 
| [](https://travis-ci.org/blakeembrey/swap-case) | 
| [](https://coveralls.io/r/blakeembrey/swap-case?branch=master) | 
|   | 
| Return as a string with every character case reversed. | 
|   | 
| ```js | 
| changeCase.swapCase('Test String') | 
| //=> "tEST sTRING" | 
| ``` | 
|   | 
| ### [titleCase](https://github.com/blakeembrey/title-case) | 
|   | 
| [](https://npmjs.org/package/title-case) | 
| [](https://npmjs.org/package/title-case) | 
| [](https://travis-ci.org/blakeembrey/title-case) | 
| [](https://coveralls.io/r/blakeembrey/title-case?branch=master) | 
|   | 
| Return as a space separated string with the first character of every word upper cased. | 
|   | 
| ```js | 
| changeCase.titleCase('a simple test') | 
| //=> "A Simple Test" | 
| ``` | 
|   | 
| ### [upperCase](https://github.com/blakeembrey/upper-case) | 
|   | 
| [](https://npmjs.org/package/upper-case) | 
| [](https://npmjs.org/package/upper-case) | 
| [](https://travci.org/blakeembrey/upper-case) | 
| [](https://coveralls.io/r/blakeembrey/upper-case?branch=master) | 
|   | 
| Return the string in upper case. | 
|   | 
| ```js | 
| changeCase.upperCase('test string') | 
| //=> "TEST STRING" | 
| ``` | 
|   | 
| ### [upperCaseFirst](https://github.com/blakeembrey/upper-case-first) | 
|   | 
| [](https://npmjs.org/package/upper-case-first) | 
| [](https://npmjs.org/package/upper-case-first) | 
| [](https://travis-ci.org/blakeembrey/upper-case-first) | 
| [](https://coveralls.io/r/blakeembrey/upper-case-first?branch=master) | 
|   | 
| Return the string with the first character upper cased. | 
|   | 
| ```js | 
| changeCase.upperCaseFirst('test') | 
| //=> "Test" | 
| ``` | 
|   | 
| ## Related | 
|   | 
| * [Meteor](https://github.com/Konecty/change-case) | 
| * [Atom](https://github.com/robhurring/atom-change-case) | 
| * [VSCode](https://github.com/wmaurer/vscode-change-case) | 
|   | 
| ## TypeScript | 
|   | 
| Includes a [TypeScript definition](change-case.d.ts). | 
|   | 
| ## License | 
|   | 
| MIT | 
|   | 
| [npm-image]: https://img.shields.io/npm/v/change-case.svg?style=flat | 
| [npm-url]: https://npmjs.org/package/change-case | 
| [downloads-image]: https://img.shields.io/npm/dm/change-case.svg?style=flat | 
| [downloads-url]: https://npmjs.org/package/change-case | 
| [travis-image]: https://img.shields.io/travis/blakeembrey/change-case.svg?style=flat | 
| [travis-url]: https://travis-ci.org/blakeembrey/change-case | 
| [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/change-case.svg?style=flat | 
| [coveralls-url]: https://coveralls.io/r/blakeembrey/change-case?branch=master |