Generador 🔒 Se ejecuta en tu navegador — no se envían datos

Generador de UUID v7

Cree UUID versión 7 que se ordenan por fecha de creación, ideales como claves primarias de base de datos.

UUID generados
Inspeccionar un UUID

Generar UUID v7 ordenados por tiempo

UUID v7 reúne lo mejor de dos mundos: es único sin coordinación, como un UUID aleatorio, y se ordena por fecha de creación, como un ID autoincremental. Por eso es la versión que hoy recomiendan la mayoría de las bases de datos y ORM para las claves primarias.

Esta página abre el generador de UUID con la versión 7 seleccionada. Los primeros 48 bits salen de su reloj; el resto, del generador aleatorio seguro del navegador.

Diagrama: las partes del UUID versión 7 01926f3a-7c2b-7d4e-9a1f-3b5c8d2e6f10: marca de tiempo de 48 bits en milisegundos, el dígito de versión 7, los bits de variante y 74 bits aleatorios.01926f3a-7c2b-7d4e-9a1f-3b5c8d2e6f10versiónvarianteTiempo Unix (ms) · 480x01926f3a7c2b = 17284429568432024-10-09 03:02:36.843 UTC12bits aleatorios · 6248 + 4 + 12 + 2 + 62 = 128
Un UUID versión 7 empieza con su hora de creación en milisegundos, así que los ID nuevos se ordenan por tiempo y se llevan bien con los índices de la base de datos. El primer dígito del tercer grupo es la versión, el primero del cuarto grupo lleva los bits de variante y el resto es aleatorio.

Por qué el orden importa en las bases de datos

La mayoría de las bases de datos relacionales guardan las claves primarias en un árbol B. Una clave v4 aleatoria cae en algún punto intermedio del índice en cada inserción, lo que obliga a dividir páginas y dispersa filas relacionadas por el disco. Una clave v7 es casi siempre mayor que la anterior, así que las filas nuevas se añaden al final, igual que con una secuencia de enteros. En tablas con millones de filas, la diferencia en velocidad de inserción y tamaño del índice es considerable.

v4, v7 y ULID comparados

UUID v4UUID v7ULID
Ordenable por tiempoNoSíSí
Bits aleatorios1227480
EstándarRFC 9562RFC 9562Especificación comunitaria
Cabe en una columna UUIDSíSíRequiere conversión
Revela la fecha de creaciónNoSíSí

Leer la marca de tiempo

Pegue un UUID v7 en el inspector que hay debajo del generador y decodificará la hora que lleva dentro. También puede hacerlo a mano: los primeros 12 dígitos hexadecimales, sin el guion, son los milisegundos transcurridos desde 1970. Para 01926f3a-7c2b-7d4e-… eso es 0x01926f3a7c2b = 1728442956843, es decir, el 9 de octubre de 2024 a las 03:02:36,843 UTC.

UUID v7 en código

  • PostgreSQL 18+: uuidv7()
  • Python 3.14+: uuid.uuid7()
  • Java: la biblioteca uuid-creator, UuidCreator.getTimeOrderedEpoch()
  • Node.js: el paquete uuid, import { v7 } from 'uuid'
  • .NET 9+: Guid.CreateVersion7()

Cuando el orden temporal no importa, UUID v4 revela menos. Si necesita el formato al estilo de Microsoft, consulte el generador de GUID.

Guías relacionadas