# Convert Path > Convert between POSIX and Windows paths.
## Usage ```javascript var convertPath = require( '@stdlib/utils/convert-path' ); ``` #### convertPath( from, to ) Converts between POSIX and Windows paths. ```javascript var p = convertPath( 'C:\\foo\\bar', 'posix' ); // returns '/c/foo/bar' ``` The following output path conventions are supported: - **win32**: Windows path convention; e.g., `C:\\foo\\bar`. - **mixed**: mixed path convention (Windows volume convention and POSIX path separator); e.g., `C:/foo/bar`. - **posix**: POSIX path convention; e.g., `/c/foo/bar`.
## Notes - A Windows [extended-length path][extended-length-path] **cannot** be converted to either a `mixed` or `posix` path convention, as forward slashes cannot be used as path separators. - If a POSIX path begins with `/[A-Za-z]/` (e.g., `/c/`), the path is assumed to begin with a volume name. - The function makes no attempt to verify that a provided path is valid.
## Examples ```javascript var convertPath = require( '@stdlib/utils/convert-path' ); var p1; var p2; p1 = '/c/foo/bar/beep.c'; p2 = convertPath( p1, 'win32' ); // returns 'c:\foo\bar\beep.c' p1 = '/c/foo/bar/beep.c'; p2 = convertPath( p1, 'mixed' ); // returns 'c:/foo/bar/beep.c' p1 = '/c/foo/bar/beep.c'; p2 = convertPath( p1, 'posix' ); // returns '/c/foo/bar/beep.c' p1 = 'C:\\\\foo\\bar\\beep.c'; p2 = convertPath( p1, 'win32' ); // returns 'C:\\foo\bar\beep.c' p1 = 'C:\\\\foo\\bar\\beep.c'; p2 = convertPath( p1, 'mixed' ); // returns 'C:/foo/bar/beep.c' p1 = 'C:\\\\foo\\bar\\beep.c'; p2 = convertPath( p1, 'posix' ); // returns '/c/foo/bar/beep.c' ```
* * *
## CLI
### Usage ```text Usage: convert-path [options] [] --out= Options: -h, --help Print this message. -V, --version Print the package version. -o, --out output Output path convention. ```
### Examples ```bash $ convert-path /c/foo/bar --out=mixed c:/foo/bar ``` To use as a [standard stream][standard-streams], ```bash $ echo -n '/c/foo/bar' | convert-path --out=win32 c:\foo\bar ```