# randoma

> User-friendly pseudorandom number generator (PRNG)

Latest version **2.0.1** (published 2025-09-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install randoma
pnpm add randoma
yarn add randoma
bun add randoma
```

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2025-09-10 |
| First published | 2018-01-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | ^12.20.0 \|\| ^14.13.1 \|\| >=16.0.0 |
| Dependencies | 4 |
| Unpacked size | 6.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 106 |
| Author | Sindre Sorhus |
| Maintainers | sindresorhus |
| Keywords | pseudorandom, number, generator, algorithm, random, integer, int, float, boolean, date, seed, seeded, prng, rng |

## Links

- npm: https://www.npmjs.com/package/randoma
- Repository: https://github.com/sindresorhus/randoma
- Homepage: https://github.com/sindresorhus/randoma#readme
- Issues: https://github.com/sindresorhus/randoma/issues
- Funding: https://github.com/sponsors/sindresorhus
- npm.io page: https://npm.io/package/randoma

## Dependencies (4)

- [color](https://npm.io/package/color.md) ^4.0.1
- [park-miller](https://npm.io/package/park-miller.md) ^2.0.1
- [@types/color](https://npm.io/package/@types/color.md) ^3.0.2
- [@sindresorhus/string-hash](https://npm.io/package/@sindresorhus/string-hash.md) ^2.0.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 2.0.1 (latest) — 2025-09-10
- 2.0.0 — 2021-11-05
- 1.3.0 — 2019-04-24
- 1.2.0 — 2018-03-06
- 1.1.0 — 2018-01-23
- 1.0.0 — 2018-01-13

## README

# randoma

> User-friendly [pseudorandom number generator (PRNG)](https://en.wikipedia.org/wiki/Pseudorandom_number_generator)

This is not cryptographically secure.

*“Pull request welcome” for additional commonly used random methods.*

## Install

```sh
npm install randoma
```

## Usage

```js
import Randoma from 'randoma';

const random = new Randoma({seed: 10});

random.integer();
//=> 2027521326

random.integer();
//=> 677268843


(new Randoma({seed: '🦄'}).integer());
//=> 1659974344

(new Randoma({seed: '🦄'}).integer());
//=> 1659974344
```

## API

### `const random = new Randoma(options)`

#### options

Type: `object`

##### seed

*Required*\
Type: `string | number`

[Initialization seed.](https://en.m.wikipedia.org/wiki/Random_seed)

Multiple instances of `Randoma` with the same seed will generate the same random numbers.

#### random.integer()
#### random.integerInRange(minimum, maximum)
#### random.float()
#### random.floatInRange(minimum, maximum)
#### random.boolean()
#### random.arrayItem(array)
#### random.date()
#### random.dateInRange(startDate, endDate)

#### random.color(saturation?)

Returns a random [aesthetically pleasing color](https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/) as a [`color`](https://github.com/Qix-/color) object.

```js
random.color(0.5).hex().toString()
//=> '#AAF2B0'
```

##### saturation

Type: `number`\
Default: `0.5`

A percentage in the range `0...1`.

### Randoma.seed()

Returns a random seed you could use in the `seed` option if you for some reason don't want deterministic randomness.

## Related

- [park-miller](https://github.com/sindresorhus/park-miller) - Park-Miller pseudorandom number generator (PRNG)

---
_Source: https://npm.io/package/randoma · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
