How can I create a GUID/UUID in JavaScript?
Richard W
richard w profile pic

In JavaScript, you can generate a GUID/UUID (Globally Unique Identifier/Universally Unique Identifier) using various methods. Here are a few common approaches: 1. Using theuuid library: - Theuuid library provides a simple way to generate UUIDs in JavaScript. You can install it using a package manager like npm or Yarn and then use it in your code. Here's an example:

1
2
3
4

const { v4: uuidv4 } = require('uuid');
const uuid = uuidv4();
console.log(uuid); // Output: e.g., 5e6abf42-8da9-4d4c-a9f8-2df6dd1f8c40

2. Using thecrypto API (Node.js) orwindow.crypto (browsers): - Thecrypto module in Node.js or thewindow.crypto API in browsers provides cryptographic functionality, including the ability to generate random numbers or bytes. You can use these functions to create a UUID. Here's an example:

1
2
3
4
5
6
7
8
9

// Node.js
const crypto = require('crypto');
const uuid = crypto.randomUUID();
console.log(uuid); // Output: e.g., 91a70c52-08e7-49f6-91c9-9cb8e6979260

// Browsers
const uuid = window.crypto.getRandomValues(new Uint32Array(4)).join('-');
console.log(uuid); // Output: e.g., 154bae8e-8d1b-4e47-8a7b-3d80f00e6063

3. Using a timestamp and a random number: - You can create a GUID by combining a timestamp with a random number. This approach is not cryptographically secure but can be suitable for many non-security-sensitive scenarios. Here's an example:

1
2
3
4
5
6
7
8
9

function generateGuid() {
  const timestamp = Date.now().toString(16);
  const random = Math.random().toString(16).substring(2);
  return `${timestamp}-${random}`;
}

const guid = generateGuid();
console.log(guid); // Output: e.g., 60ac6d7b899-4bea-b835-964ad99be0a5

These are just a few examples of how you can generate GUID/UUID values in JavaScript. Choose the method that best suits your needs and consider factors such as security requirements, uniqueness, and compatibility with your target environment.