Generates n random points based on @turf/random.
The value added regarding @turf/random is the filter. Indeed, here points can be generated inside a GeoJSON polygon.
And it comes with :
- a command line tool,
- a node library,
- a browser library
- node
$ npm i random-points-generatoror
yarn add random-points-generatoror
pnpm add random-points-generator<script src="https://unpkg.com/random-points-generator"></script>
<script>
  const fc = geotools.random(5);
</script>| Name | Description | Type | Default | 
|---|---|---|---|
| number | number of points to generate | Integer | 10 | 
| options | random options | Object | undefined | 
returns a FeatureCollection of Points
options
| Options | Description | 
|---|---|
| bbox | Array extent in [ minX, minY, maxX, maxY ] order which means (southwest lng, lat northeast lng,lat) | 
| features | GeoJSON polygons as features or a FeatureCollection | 
| unkink | true|false[Default is true] Unkink Polygon (see) before processing the features | 
ESM
import RandomGenerator from 'random-points-generator';
console.log(JSON.stringify(RandomGenerator.random(5)));will output something like :
{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[-57.67197760979268,42.78314165298585]}},{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[72.83765393077084,-59.52263527885765]}},{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[54.502068476617396,-60.928402442511306]}},{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[-22.331900675385647,39.51543790400138]}},{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[-149.45526699981158,-74.96319889821024]}}]}CJS
const RandomGenerator = require('random-points-generator');
const points = RandomGenerator.random(3);
console.log(JSON.stringify(points));will output something like :
{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[126.41316810428155,-47.548372609587574]},"properties":{}},{"type":"Feature","geometry":{"type":"Point","coordinates":[97.69989737806617,-47.200575920302434]},"properties":{}},{"type":"Feature","geometry":{"type":"Point","coordinates":[24.264802630637277,72.69680002654108]},"properties":{}}]}- clone or fork the repo
- cd random-points-generator
- run npm install
- run ./bin/random-points-generator --helpto get options
Usage: bin/random-points-generator [options]
Options:
  --help, -h     Show help                                             [boolean]
  --number, -n                                                     [default: 10]
  --verbose, -v                                                 [default: false]
Examples:
  bin/random-points-generator               Generates 10 random coordinates,
                                            output to console in GeoJSON format
  bin/random-points-generator -n 1000       Generates 1000 random coordinates
  --xmin=-2 --xmax=4 --ymin=-45 --ymax=50   with these bounding box
  bin/random-points-generator -i            Generates 10 random coordinates
  world_countries.geojson                   within polygons from file
                                            world_countries.geojsonTODO
| Version | Date | Description | 
|---|---|---|
| v2.0.0 | 07/07/2025 | Release v2 | 
| v2.0.0-beta.3 | 01/07/2025 | Export default | 
| v2.0.0-beta.2 | 30/06/2025 | Improves doc and upgrade deps | 
| v2.0.0-beta.1 | 23/06/2025 | Refactor using TypeScript and Vitest | 
| v1.10.0 | 23/06/2025 | Upgrade deps packages | 
| v1.9.1 | 03/11/2024 | deps: Eslint 9 and pnpm | 
| v1.9.0 | 29/07/2024 | Upgrade deps packages | 
| v1.8.0 | 26/01/2023 | Adds optional unkink polygons parameter | 
| v1.7.6 | 31/03/2021 | Upgrade deps packages | 
| v1.7.5 | 22/11/2020 | Upgrade deps packages | 
| v1.7.4 | 09/12/2019 | Upgrade deps packages | 
| v1.7.3 | 09/12/2019 | Upgrade deps packages | 
| v1.7.2 | 16/08/2019 | Upgrade deps packages | 
| v1.7.1 | 16/08/2019 | Build removes node 6 | 
| v1.7.0 | 14/08/2019 | Build / test on node 10 | 
| v1.6.1 | 10/12/2018 | Missing Built Files | 
| v1.6.0 | 10/12/2018 | Upgrade deps packages | 
| v1.5.2 | 01/05/2018 | fixes unnecessary verbose message | 
| v1.5.0 | 25/03/2018 | add a browser package | 
| v1.4.0 | 20/02/2018 | Use single turf modules | 
| v1.3.0 | 07/11/2017 | Unkink input polygons | 
| v1.2.0 | 21/05/2017 | Rewrite with es6 notation | 
| v1.1.0 | 25/04/2017 | Split command line and lib | 
| v1.0.0 | 03/10/2016 | Creation : a tool command line | 
resources folder contains Large Scale Data from Natural Earth
Licensed under the MIT License
A copy of the license is available in the repository's LICENSE file.