🆔 UUID Tools

Tools for generating, decoding and analyzing UUIDs

¿Qué son los UUIDs?

UUID (Identificador Universalmente Único) es un formato de identificador estandarizado diseñado para ser único a nivel global en espacio y tiempo. Los UUIDs son valores de 128 bits representados típicamente como 32 dígitos hexadecimales, mostrados en cinco grupos separados por guiones: 123e4567-e89b-12d3-a456-426614174000.

Los UUIDs están definidos por el estándar RFC 9562 (que reemplaza al anterior RFC 4122) y se utilizan en plataformas informáticas para identificar información sin necesidad de registro o coordinación centralizada.

Formato de UUID

Todos los UUIDs comparten un formato común que consiste en 36 caracteres (32 dígitos hexadecimales más 4 guiones) organizados en el patrón:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Donde:

  • x es cualquier dígito hexadecimal (0-9, a-f)
  • M indica la versión del UUID (1-7)
  • N indica la variante del UUID (típicamente 8, 9, A o B para UUIDs modernos)

Comparación de versiones de UUID

VersiónNombreMétodo de GeneraciónOrdenado por TiempoCasos de Uso
UUID v1Marca de TiempoMarca de tiempo actual + ID de nodo (MAC)Sí (parcialmente)Registros, sistemas distribuidos
UUID v3Basado en Nombre (MD5)Hash MD5 de espacio de nombres + nombreNoIDs consistentes para la misma entrada
UUID v4AleatorioNúmeros aleatorios o pseudoaleatoriosNoPropósito general, el más común
UUID v5Basado en Nombre (SHA-1)Hash SHA-1 de espacio de nombres + nombreNoIDs consistentes con hash más fuerte
UUID v6Marca de Tiempo ReordenadaMarca de tiempo (ordenada para clasificación)Claves de base de datos, registros ordenados por tiempo
UUID v7Marca de Tiempo UnixMarca de tiempo Unix + datos aleatoriosIdentificadores modernos ordenables
Nil UUIDUUID NuloTodos cerosN/AValor especial, marcador no inicializado

Ventajas de los UUIDs

  • No Requiere Coordinación: Generar IDs sin coordinación central
  • Unicidad Global: Probabilidad extremadamente baja de colisión
  • Longitud Fija: Representación consistente de 36 caracteres
  • Multiplataforma: Compatible con prácticamente todos los lenguajes de programación
  • Versátil: Diferentes versiones para diferentes casos de uso

Alternativas no estándar a UUID

Tipo de IDDescripciónVentajasDesventajas
GUIDImplementación de UUID de MicrosoftEquivalente funcional a UUIDAlgunas diferencias de implementación en sistemas antiguos
ULIDIdentificador Universalmente Único Ordenable LexicográficamenteOrdenable lexicográficamente, marca de tiempo primero, insensible a mayúsculasMás reciente, menos adopción generalizada
Snowflake IDSistema de ID distribuido de TwitterOrdenable por tiempo, compacto (64 bits)Requiere coordinación central
CUID/CUID2IDs resistentes a colisionesCortos, adecuados para generación en el clienteNo es un estándar oficial
Nano IDGenerador de cadenas únicas pequeñas, seguras y amigables para URLMás pequeño que UUID, alfabeto configurableNo estandarizado
Short UUIDCodificación más corta de UUIDs estándarRepresentación más compactaRequiere conversión a/desde UUID estándar
Nil UUIDUUID con todos los bits en ceroSignificado semántico especialNo único (usado como valor especial)
Minecraft UUIDUUIDs con o sin guionesCompatible con UUIDs estándarSolo diferencias de formato

Aplicaciones Prácticas

  • Claves Primarias de Base de Datos: Especialmente en bases de datos distribuidas o replicadas
  • Sistemas Distribuidos: Identificar entidades en múltiples sistemas
  • Aplicaciones Web: Identificadores de sesión, seguimiento de usuarios anónimos
  • Gestión de Contenidos: Identificadores de documentos y medios
  • APIs: Identificadores de solicitudes y transacciones para rastreo y depuración
  • Internet de las Cosas: Identificación de dispositivos sin registro central
  • Sincronización de Datos: Identificar registros en múltiples almacenes de datos
  • Licencias de Software: Claves únicas de producto o licencia