UUID v6 Generator

Generate UUID v6 values, the time ordered rewrite of v1 from RFC 9562. Same fields, reordered so values sort by creation time. Decode the timestamp. Free, in your browser.

Generate V6 UUIDs

Pick how many and the format you want. Everything runs in your browser.

Format

Your UUIDs

Copy one, copy them all, or download the list. The format options above apply to everything shown here.

    What a UUID v6 is

    Version 6 is version 1 with its timestamp put in the right order. v1 stores the low 32 bits of the time first, which is why consecutive v1 values do not sort. v6 stores the high bits first, then the middle, then the low 12 bits after the version nibble. Everything else, the clock sequence and the 48 bit node id, stays where it was. The result compares in creation order as text or bytes, which is what database indexes want.

    RFC 9562 added v6 in 2024 alongside v7 and v8, specifically so systems built on v1 could get ordering without changing their data model.

    v6 or v7

    If you are not tied to v1, use v7. Both sort by time, but v7 uses a plain Unix millisecond timestamp that any language can read, and fills the rest with random bits. v6 keeps the 100 nanosecond Gregorian timestamp and the node id, which only matters if you already have v1 data or tooling that reads those fields. The RFC says as much: v6 for compatibility, v7 for new work.

    How this generator makes them

    The node id is random with the multicast bit set, since a browser cannot see your MAC address. The timestamp comes from your clock at 100 nanosecond resolution as far as the browser allows. Paste a value into the decoder to read the time back.

    Anatomy of an example

    1ef9f3b0-e5c2-6f1a-a1b2-0242ac120002
    ^^^^^^^^ ^^^^  ^^^ timestamp, high bits first
                  ^ version 6
                       ^^^^ variant plus clock sequence
                            ^^^^^^^^^^^^ node id

    Generate a v6 UUID in code

    // JavaScript, uuid package
    import { v6 as uuidv6, v1ToV6 } from "uuid";
    const id = uuidv6();
    // convert an existing v1 value, the timestamp is preserved
    v1ToV6("e5c2f1a0-9f3b-11ef-a1b2-0242ac120002");
    
    # Python 3.14+
    import uuid
    uuid.uuid6()

    Frequently asked questions

    Can I convert my existing v1 UUIDs to v6?

    Yes, and it is lossless. The fields are the same, only their order changes, so a v1 value can be rewritten as v6 and back. The uuid package for JavaScript has v1ToV6 and v6ToV1 helpers.

    Does v6 leak my MAC address like v1?

    Only if the generator uses a real MAC. This page uses a random node id. Server side libraries usually offer the same choice.

    Is v6 widely supported?

    Less than v7. Python 3.14 and the JavaScript uuid package have it, most other ecosystems support v7 first. If you do not have a v1 legacy, skip v6.

    ↑ Top
    Copied!