Package Exports
- is-in-subnet
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (is-in-subnet) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
is-in-subnet

Check if an IPv4 or IPv6 address is contained in the given CIDR subnet.
- Small
- Fast
- Simple syntax
- Full test coverage
- TypeScript-friendly
- Zero dependencies
- 🆕 Browser-friendly
See the 📖 Reference page for complete documentation.
Installation
With Node.js
npm install is-in-subnet
In a browser
This module is compatible with Browserify and other bundling tools. If you prefer to load it as a single file from a CDN:
- https://cdn.jsdelivr.net/npm/is-in-subnet@4/browser/isInSubnet.js
- https://cdn.jsdelivr.net/npm/is-in-subnet@4/browser/isInSubnet.min.js
The module is loaded as a global named isInSubnet
.
Basic Usage
Node.js
const { isInSubnet } = require('is-in-subnet');
console.log(isInSubnet('10.5.0.1', '10.4.5.0/16')); // false
console.log(isInSubnet('10.5.0.1', '10.4.5.0/15')); // true
console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f53b::1:1/48')); // false
console.log(isInSubnet('2001:db8:f53a::1', '2001:db8:f531::1:1/44')); // true
Browser
console.log(isInSubnet.isInSubnet('10.5.0.1', '10.4.5.0/16'));
// if you don’t like that syntax, you may use this instead:
console.log(isInSubnet.check('10.5.0.1', '10.4.5.0/16'));
More ways to use it
Test multiple subnets at once
- You can pass an array instead of a single subnet.
const inAnySubnet = isInSubnet('10.5.0.1', ['10.4.5.0/16', '192.168.1.0/24']);
Amortise the parsing cost using a functional version
createChecker(subnetOrSubnets)
returns a function used to check an address
const checker = createChecker(['10.4.5.0/16', '192.168.1.0/24']);
console.log(checker('10.5.0.1')); // true
Test for special types of addresses
isPrivate(address)
— Private addresses (like192.168.0.0
)isLocalhost(address)
— Localhost addresses (like::1
)
And more. See the documentation.
Check if an address is valid
isIPv4(address)
,isIPv6(address)
,isIP(address)
— works just like the similarly-named functions in Node’snet
module.