normalize-path NPM version NPM monthly downloads NPM total downloads Linux Build Status

Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.

Please consider following this project’s author, Jon Schlinkert, and consider starring the project to show your :heart: and support.


Install with npm:

$ npm install --save normalize-path


const normalize = require('normalize-path');

//=> '/foo/bar/baz'

win32 namespaces

//=> '//?/UNC/Server01/user/docs/Letter.txt'

//=> '//./CdRomX'

Consecutive slashes

Condenses multiple consecutive forward slashes (except for leading slashes in win32 namespaces) to a single slash.

//=> './foo/bar/baz'

Trailing slashes

By default trailing slashes are removed. Pass false as the last argument to disable this behavior and keep trailing slashes:

console.log(normalize('foo\\bar\\baz\\', false)); //=> 'foo/bar/baz/'
console.log(normalize('./foo/bar/baz/', false)); //=> './foo/bar/baz/'

Release history


No breaking changes in this release.

  • a check was added to ensure that win32 namespaces are handled properly by win32 path.parse() after a path has been normalized by this library.
  • a minor optimization was made to simplify how the trailing separator was handled


Contributing Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
Running Tests Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: ```sh $ npm install && npm test ```
Building docs _(This project's is generated by [verb](, please don't edit the readme directly. Any changes to the readme must be made in the []( readme template.)_ To generate the readme, run the following command: ```sh $ npm install -g verbose/verb#dev verb-generate-readme && verb ```

Other useful path-related libraries:


Commits Contributor
35 jonschlinkert
1 phated


Jon Schlinkert


Copyright © 2018, Jon Schlinkert. Released under the MIT License.

This file was generated by verb-generate-readme, v0.6.0, on April 19, 2018.