Generate UUID in JavaScript

Table of Contents

Method 1: Using the uuid package

One of the easiest ways to generate UUIDs in JavaScript is by using the uuid package. This package provides a simple and straightforward method to generate RFC-compliant UUIDs.

// Import the uuid package
const { v4: uuidv4 } = require('uuid');

// Generate a UUID
const uuid = uuidv4();

console.log(uuid);

Method 2: Using Math.random()

Another way to generate UUIDs in JavaScript is by using the Math.random() method along with some string manipulation.

// Generate a UUID using Math.random()
function generateUUID() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0,
        v = c === 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

const uuid = generateUUID();

console.log(uuid);

Method 3: Using timestamp and random numbers

Another approach to generating UUIDs is by using a combination of timestamp and random numbers.

// Generate a UUID using timestamp and random numbers
function generateUUID() {
  var dt = new Date().getTime();
  var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = (dt + Math.random() * 16) % 16 | 0;
    dt = Math.floor(dt / 16);
    return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
  });
  return uuid;
}

const uuid = generateUUID();

console.log(uuid);

References

  1. uuid package
  2. Math.random()

Summary

In this tutorial, we explored three different methods for generating UUIDs in JavaScript. We learned how to use the uuid package, the Math.random() method, and a combination of timestamp and random numbers. Each method has its own advantages and can be used based on the specific requirements of your project.