How to Validate a UUID in JavaScript

    Check whether a string is a valid UUID using a regular expression or the uuid package.

    Need a UUID right now? Generate one instantly in your browser.

    Validating a UUID in JavaScript means confirming a string matches the canonical 8-4-4-4-12 hexadecimal format and, optionally, a specific version. You can do this with a regular expression or with the uuid package.

    Both approaches are shown below, including how to extract the version digit.

    Validate with a regular expression

    This pattern accepts any RFC 4122 / RFC 9562 UUID (versions 1-8) with the correct variant bits. It is case-insensitive.

    javascript
    const UUID_RE =
      /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
    
    function isUuid(value) {
      return UUID_RE.test(value);
    }
    
    console.log(isUuid("36b8f84d-df4e-4d49-b662-bcde71a8764f")); // true
    console.log(isUuid("hello"));                                // false

    Validate with the uuid package

    The uuid package exposes validate() and version() helpers, which avoid hand-written regexes and stay correct as new versions are added.

    javascript
    import { validate as uuidValidate, version as uuidVersion } from "uuid";
    
    const value = "36b8f84d-df4e-4d49-b662-bcde71a8764f";
    
    console.log(uuidValidate(value));               // true
    console.log(uuidValidate(value) && uuidVersion(value)); // 4

    Frequently asked questions

    What is a good UUID validation regex?
    Use /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i, which enforces the version and variant bits.
    How do I check the UUID version in JavaScript?
    Use the version() helper from the uuid package, or read the first character of the third group in the string.
    Should I validate UUIDs with a regex or a library?
    A regex is fine for format checks. The uuid package’s validate() is more future-proof because it tracks the spec as new versions are standardised.

    Cookie Consent

    We use cookies to enhance your experience on our website. By accepting, you agree to the use of cookies in accordance with our Privacy Policy.