← Todas las herramientas

Generador de UUID (v4 GUID)

Genera UUID (GUID) v4 aleatorios al instante en tu navegador. Aprende qué es un UUID de 128 bits, cómo difieren las versiones, la probabilidad de colisión y sus usos.

Qué es realmente un UUID

Un UUID, abreviatura de Identificador Único Universal, es un valor de 128 bits que se usa para etiquetar algo sin pedir permiso a nadie primero. También puede que lo veas llamado GUID, o Identificador Único Global, que es simplemente el nombre que Microsoft le dio a la misma idea dentro de Windows y el mundo de .NET. Los dos términos describen el mismo número de 128 bits en casi todos los casos que importan, así que cuando un colega dice GUID y tú dices UUID, casi siempre estáis hablando exactamente de lo mismo.

Esos 128 bits se escriben normalmente como 32 dígitos hexadecimales divididos en cinco grupos por guiones, con un patrón 8-4-4-4-12. Un valor típico tiene este aspecto: 123e4567-e89b-12d3-a456-426614174000. Los guiones no tienen significado propio; existen únicamente para que un humano pueda leer el valor sin perder su sitio. Cada carácter es un dígito hexadecimal de 0 a f, razón por la cual un UUID parece más denso que un número cotidiano aunque, en el fondo, no sea más que un único entero muy grande.

Token hexadecimal abstracto y brillante que representa un identificador único de 128 bits sobre un fondo índigo oscuro
Un UUID es un único número de 128 bits, escrito como 32 dígitos hexadecimales en cinco grupos separados por guiones.

Versiones, y por qué gana la v4

El estándar define varias versiones, y se diferencian en cómo se rellenan los bits. La versión 1 se basa en el tiempo: entrelaza la marca de tiempo actual y la dirección MAC de red de la máquina. Eso hace que los valores v1 se puedan ordenar por hora de creación, pero también filtra información sobre dónde y aproximadamente cuándo se crearon, lo cual no siempre es bienvenido. Las versiones 3 y 5 se basan en el nombre, aplicando un hash a un espacio de nombres más un nombre, de modo que la misma entrada siempre produce el mismo identificador.

La versión 4 toma un camino completamente distinto. Es casi pura aleatoriedad. De los 128 bits, seis se reservan para marcar la versión y la variante, dejando 122 bits para rellenar con datos aleatorios. No hay marca de tiempo, ni dirección MAC, ni espacio de nombres, solo ruido. Esa es exactamente la razón por la que la mayoría de generadores, incluido este, producen v4 de forma predeterminada. No revela nada sobre el dispositivo ni el momento de creación, y no necesita ninguna coordinación entre las partes que lo crean. La herramienta de esta página se ejecuta por completo en tu navegador, así que los valores aleatorios nunca salen de tu máquina.

Lo improbable que es realmente una colisión

La preocupación razonable es que dos UUID aleatorios algún día puedan ser idénticos. Con 122 bits aleatorios, el espacio de valores v4 posibles es 2 elevado a 122, que es aproximadamente 5,3 seguido de 36 ceros. Para ponerlo en términos humanos, tendrías que generar miles de millones de UUID cada segundo durante muchas décadas antes de que las probabilidades de un solo duplicado alcanzaran algo que pudieras medir. El propio estándar describe la posibilidad de un choque como lo bastante cercana a cero como para ser insignificante. En la práctica, los equipos tratan la v4 como única y siguen adelante, y hacen bien.

Innumerables llaves brillantes y distintas flotando en un vasto espacio oscuro sin duplicados, con acentos cian y dorados
El conjunto de valores v4 posibles es tan vasto que las colisiones son prácticamente imposibles.

Dónde recurren a ellos los desarrolladores

Como la unicidad no necesita ninguna autoridad central, los UUID brillan en lugares donde la coordinación es cara o imposible. Encajan de forma natural como claves primarias de bases de datos, sobre todo cuando varios servicios insertan filas cada uno y no puedes pausar para pedirle el siguiente número a un contador compartido. En sistemas distribuidos, dos nodos en lados opuestos del planeta pueden acuñar identificadores en el mismo instante sin colisionar jamás. También dan vida a las claves de idempotencia de API, donde un cliente adjunta un UUID a una solicitud para que el servidor pueda ignorar con seguridad un duplicado si la red reintenta. Los tokens de sesión, los nombres de archivo, los ID de eventos y las claves de mensajes se apoyan todos en la misma propiedad.

UUID frente a ID autoincrementales

La alternativa clásica es el entero autoincremental: 1, 2, 3, y así sucesivamente. Los ID secuenciales son compactos, se ordenan de forma natural y son fáciles de leer, pero tienen inconvenientes reales. Exponen cuántos registros existen y permiten a los de fuera adivinar valores vecinos, y obligan a que cada inserción pase por un único contador, que se convierte en un cuello de botella cuando fragmentas una base de datos o fusionas datos de muchas fuentes. Los UUID resuelven esos problemas al permitir que cualquier parte genere una clave de forma independiente y al no revelar nada sobre el volumen ni el orden. El precio es el tamaño y un poco menos de localidad en los índices. Para sistemas que escalan horizontalmente o que deben ocultar sus interioridades, ese precio suele merecer la pena. Puedes explorar esta y otras utilidades similares en nuestra colección de todos los generadores, o navegar por el conjunto más amplio de herramientas para desarrolladores en busca de piezas relacionadas.

Preguntas frecuentes

¿Es lo mismo un GUID que un UUID?

Para fines cotidianos, sí. GUID es el nombre de Microsoft para el mismo identificador de 128 bits. La única diferencia real es el orden de los bytes en la forma binaria en bruto en algunos sistemas Windows; en forma de cadena son idénticos e intercambiables.

¿Qué versión de UUID genera esta herramienta?

Genera la versión 4, la variante aleatoria. De sus 128 bits, 122 se rellenan con datos aleatorios, lo que hace que cada valor sea extremadamente improbable de repetir y significa que no lleva ninguna marca de tiempo ni información del dispositivo.

¿Pueden dos UUID ser alguna vez iguales?

En teoría la probabilidad no es exactamente cero, pero con alrededor de 5,3 por 10 elevado a 36 valores v4 posibles es tan pequeña que se trata como insignificante. Tendrías que generar cantidades astronómicas de ellos antes de que un choque se volviera probable.

¿Por qué usar un UUID en lugar de un número autoincremental?

Los UUID pueden ser creados de forma independiente por cualquier servicio sin un contador compartido, no revelan recuentos de registros ni el orden, y hacen indolora la fusión de datos de muchas fuentes. Los ID autoincrementales son más pequeños, pero se convierten en un cuello de botella y filtran información a escala.

¿Los UUID se generan en un servidor?

No. Esta herramienta se ejecuta por completo en tu navegador, así que los valores aleatorios se producen localmente y nunca se envían a ningún sitio. Eso hace que sea seguro usarla para claves y tokens que quieras mantener privados.

¿Qué significa el patrón de guiones?

La agrupación 8-4-4-4-12 es solo una convención de legibilidad. Los guiones no llevan datos; dividen los 32 dígitos hexadecimales en bloques para que la gente pueda revisar y comparar valores con más facilidad.