sindresorhus/is-path-inside

Check if a path is inside another path

JavaScript

40

34 commits

updated Sep 18, 2026

See the code

README

is-path-inside

Check if a path is inside another path

Install

npm install is-path-inside

Usage

import isPathInside from 'is-path-inside';

isPathInside('a/b/c', 'a/b');
//=> true

isPathInside('a/b/c', 'x/y');
//=> false

isPathInside('a/b/c', 'a/b/c');
//=> false

isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus');
//=> true

API

isPathInside(childPath, parentPath)

Note that relative paths are resolved against process.cwd() to make them absolute.

[!IMPORTANT] This package is meant for use with path manipulation. It does not check if the paths exist nor does it resolve symlinks. You should not use this as a security mechanism to guard against access to certain places on the file system.

childPath

Type: string

The path that should be inside parentPath.

parentPath

Type: string

The path that should contain childPath.

Tips

Filesystem-aware checking

For symlink resolution and path existence checking, combine it with fs.realpathSync():

import {realpathSync} from 'node:fs';

isPathInside(realpathSync(childPath), realpathSync(parentPath));

sindresorhus/is-path-inside

Check if a path is inside another path

JavaScript

40

34 commits

updated Sep 18, 2026

See the code

README

is-path-inside

Check if a path is inside another path

Install

npm install is-path-inside

Usage

import isPathInside from 'is-path-inside';

isPathInside('a/b/c', 'a/b');
//=> true

isPathInside('a/b/c', 'x/y');
//=> false

isPathInside('a/b/c', 'a/b/c');
//=> false

isPathInside('/Users/sindresorhus/dev/unicorn', '/Users/sindresorhus');
//=> true

API

isPathInside(childPath, parentPath)

Note that relative paths are resolved against process.cwd() to make them absolute.

[!IMPORTANT] This package is meant for use with path manipulation. It does not check if the paths exist nor does it resolve symlinks. You should not use this as a security mechanism to guard against access to certain places on the file system.

childPath

Type: string

The path that should be inside parentPath.

parentPath

Type: string

The path that should contain childPath.

Tips

Filesystem-aware checking

For symlink resolution and path existence checking, combine it with fs.realpathSync():

import {realpathSync} from 'node:fs';

isPathInside(realpathSync(childPath), realpathSync(parentPath));

Project health

Overall

3.6/10

Maintained

0/10

Code review

2/10
OpenSSF Scorecard

Latest release

4.0.0 · May 3, 2021

Releases this year

0