Random UUID Generator

ComponentUUIDReact

A simple React component that generates a random UUIDV4.

Recently, I needed a few random UUIDs. I googled "random UUID v4" and clicked the first result—only to be met with a flood of ads. Nope... I backed out and tried the second result. The UX was awful—I had to refresh the page every time just to get a new UUID. Frustrating.

So, I did what any developer would do: I built a simple component to generate random UUIDv4 values instantly.

86a832e2-43ca-4837-864e-857a1049ceed

Code

npm install uuid
"use client";
 
import { useState } from "react";
import { v4 as uuidv4 } from "uuid";
 
function RegenerateButton({ onClick }) {
  return (
    <button
      onClick={onClick}
      className="rounded-md px-2 py-1 text-sm bg-primary/70 hover:bg-primary/90 transition-colors cursor-pointer"
    >
      Regenerate
    </button>
  );
}
 
function CopyButton({ text }) {
  const [copied, setCopied] = useState(false);
 
  const copy = async () => {
    await navigator.clipboard.writeText(text);
    setCopied(true);
    setTimeout(() => setCopied(false), 2000);
  };
 
  return (
    <button
      onClick={copy}
      className="rounded-md px-2 py-1 text-sm bg-white/10 hover:bg-white/20 transition-colors cursor-pointer"
    >
      {copied ? "Copied!" : "Copy"}
    </button>
  );
}
 
export default function UUIDV4Generator() {
  const [uuid, setUUID] = useState(uuidv4());
 
  function generateUUIDV4() {
    setUUID(uuidv4());
  }
 
  return (
    <pre className="group p-4 rounded-lg overflow-x-auto my-4 text-white bg-black/75 relative">
      <div className="absolute right-2 top-2 flex gap-2">
        <CopyButton text={uuid} />
        <RegenerateButton onClick={generateUUIDV4} />
      </div>
      {uuid}
    </pre>
  );
}
© 2025 cdnkr