RevealTheme logo

Generador de UUID

Genera UUID v4 (identificadores únicos universales aleatorios). Cada clic produce uno nuevo.

Cómo usar esta herramienta

  1. 1

    Click the Generate UUID button to produce a fresh random v4 UUID.

  2. 2

    Read the 36-character identifier shown in the canonical 8-4-4-4-12 format below the button.

  3. 3

    Click Copy to put the UUID on your clipboard for pasting into code, a database, or a config file.

  4. 4

    Click Generate UUID again whenever you need another one — every click replaces the value with a brand-new random UUID.

¿Qué es un UUID y por qué lo usa el software?

Un UUID (Universally Unique Identifier, a veces llamado GUID en contextos de Microsoft) es un valor de 128 bits que se usa para identificar entidades sin necesidad de coordinación entre sistemas. La idea de un UUID es que dos programas distintos, ejecutándose en dos máquinas distintas y sin conocerse entre sí, pueden generar UUID y asumir con confianza que nunca colisionarán. Esa propiedad habilita el diseño de sistemas distribuidos: puedes dejar que cualquier servicio acuñe identificadores localmente sin un contador central, fusionar bases de datos sin renumerar filas y pregenerar identificadores en el cliente antes de que el servidor vea siquiera la solicitud. Los UUID tienen cinco versiones canónicas definidas por la RFC 4122: v1 (basado en tiempo + dirección MAC, filtra la hora de creación y la identidad de la máquina), v3 (hash MD5 de un espacio de nombres + nombre), v4 (aleatorio, el más común), v5 (hash SHA-1 de un espacio de nombres + nombre). La RFC 9562 añadió la v6 (ordenado por tiempo, como la v1 pero sin filtrar la MAC) y la v7 (marca de tiempo Unix + aleatorio, diseñada específicamente para claves primarias de bases de datos porque se ordena cronológicamente). Esta herramienta genera UUID v4 mediante crypto.randomUUID(), que utiliza aleatoriedad criptográficamente robusta del sistema operativo subyacente del navegador, la misma fuente de la que provienen las claves TLS. La salida es idéntica byte a byte a la de uuid.uuid4() de Python, crypto.randomUUID() de Node y google/uuid.NewRandom() de Go.

Casos de uso comunes

  • Claves primarias de base de datos: sustituyen a los enteros autoincrementales cuando necesitas fusionar bases de datos o generar IDs en el cliente.

  • Identificadores de sesión en cookies: lo bastante largos como para que adivinar por fuerza bruta un ID de sesión válido sea computacionalmente inviable.

  • Claves de idempotencia para peticiones de API: repite la petición con seguridad; el servidor deduplica por UUID.

  • Identificadores de archivos subidos: nombra los archivos subidos por UUID para evitar colisiones de rutas y no exponer los nombres de archivo originales.

  • IDs de trazabilidad distribuida: cada petición recibe un UUID, propagado a través de los servicios para correlacionar los registros.

  • Identificadores de fixtures de prueba: aleatoriedad predecible para datos de prueba sin tener que coordinar IDs entre casos de prueba.

Preguntas frecuentes

¿Qué significa v4?
Versión 4: se genera a partir de 122 bits de aleatoriedad más 6 bits fijos de versión/variante. Otras versiones: la v1 se basa en marca de tiempo + MAC (no la uses; filtra la identidad de la máquina y la hora), la v3/v5 son hashes deterministas de un espacio de nombres + nombre (útiles para identificadores derivados estables), la v7 es aleatoria con prefijo de marca de tiempo (excelente para bases de datos porque se ordena cronológicamente). Para la mayoría de los casos, la v4 es la opción correcta por defecto.
¿Qué tan únicos son realmente los UUID?
Los UUID v4 tienen 122 bits efectivos de aleatoriedad: 5,3×10^36 valores posibles. Tendrías que generar 2,71 trillones de UUID antes de alcanzar una probabilidad de colisión del 50 %. Para contextualizar, si generaras mil millones de UUID por segundo, necesitarías 85 años para llegar a ese umbral. Las colisiones prácticas no ocurren con un buen generador de números aleatorios.
¿Debo usar v4 o v7 para las claves primarias de bases de datos?
La v7 es mejor para bases de datos. Los UUID v4 son aleatorios, lo que significa que las filas nuevas se dispersan al azar por los índices B-tree, provocando hinchazón del índice e inserciones lentas a gran escala. La v7 antepone la marca de tiempo, por lo que los UUID nuevos siempre se ordenan después de los antiguos, manteniendo los patrones de inserción secuenciales. PostgreSQL, MySQL y SQL Server se benefician de la v7. Si tu biblioteca aún no admite la v7, los ULID son una alternativa popular con la misma propiedad.
¿Es seguro usar crypto.randomUUID()?
Sí. Está especificado en la WHATWG e implementado en todos los navegadores modernos mediante el generador criptográfico de números aleatorios del sistema operativo (la misma fuente de la que provienen las claves TLS). La salida es impredecible y se distribuye uniformemente por todo el espacio de UUID v4.
¿Cuál es la diferencia entre UUID y GUID?
Son funcionalmente idénticos: GUID es el término de Microsoft para el mismo concepto. El formato de bytes difiere en algunas API de Microsoft (el Guid.ToByteArray() de .NET usa orden de bytes mixto en los primeros tres campos), así que cuando importa la interoperabilidad, vigila el orden de bytes. El formato de cadena canónico (8-4-4-4-12) es idéntico.
¿Puedo acortar un UUID para usarlo en URL?
Sí: codifica los 128 bits en Base62 o Base64 en lugar del formato hexadecimal canónico. Base62 te da 22 caracteres; Base64 da 22 con relleno o 22 en su variante segura para URL. Algunas bibliotecas también usan formatos de 'UUID corto'. Los bits subyacentes no cambian; solo difiere la codificación de visualización.
¿Por qué mi UUID empieza con los mismos caracteres que otro?
Es coincidencia: los UUID v4 son aleatorios. Con 36 caracteres hexadecimales en total y solo 22 caracteres hexadecimales aleatorios (4 están reservados para versión/variante y 4 son guiones), algunas coincidencias de prefijo son inevitables cuando generas muchos. El UUID completo es único aunque coincidan los prefijos.

Herramientas relacionadas