Random Seed in JavaScript and Node.js


Random seed is a method of initializing random number generators using an initial seed value. Random generators with the same seed will output the same pseudo-random results.

I found this method to be particularly useful when developing a game I'm working on, which has a random 'Daily Challenge'. In this case, random seed can be useful to select a random game using the current date as a seed.


So, here's how to create a random seed in Node.js, using the seedrandom NPM package:

1// In Node.js 2const seedrandom = require('seedrandom'); 3const generator = seedrandom('[your seed here]'); 4const randomNumber = generator(); 5

And if you're on the client-side:

1// On The Browser 2const generator = new Math.seedrandom('[your seed here]'); 3const randomNumber = generator(); 4

In both of these code snippets, the generator function will return a new random number each time, given the seed the generator was initialized with.


If you're running on Node.js, download the seedrandom package as follows:

npm install seedrandom

Or using Yarn:

yarn add seedrandom

If you're writing client-side code without webpack, you can either download the file from seedrandom's GitHub repository, or use a CDN by adding the following code snippet at the end of your <body> tag:

1<script src="https://cdnjs.cloudflare.com/ajax/libs/seedrandom/3.0.5/seedrandom.min.js"></script> 2


Random seed is one of a few features that is present in most major programming languages but is not available out-of-the-box in JavaScript. It can be incredibly useful in a wide array of cases, both on the web and running on the server-side using Node.

I hope this helps, and thanks for scrolling.

— Gabriel Romualdo, March 26, 2021