Qué son y cómo crear identificadores únicos (UUIDs) con JavaScript plano

¿Sabías que puedes generar identificadores únicos en JavaScript con solo una línea de código? Con el método window.crypto.randomUUID(), es posible crear UUIDs (Identificadores Únicos Universales) de versión 4 de manera sencilla y segura.

Este método forma parte de la API Web Crypto y es compatible con todos los navegadores modernos y entornos de ejecución de JavaScript. A continuación, te muestro cómo puedes utilizarlo en tus aplicaciones web.

const uuid = window.crypto.randomUUID();
console.log(uuid);

// → 'b48087ff-b06c-41d0-9103-b96c90d7d44a'

¿Por qué deberías usarlo?

Limitaciones

Sin embargo, debido a que las nuevas APIs de los navegadores solo están disponibles en contextos seguros, este método solo está disponible para páginas locales (localhost o 127.0.0.1) o en entornos seguros como HTTPS.

Si necesitas generar UUIDs en un entorno no seguro, te recomiendo utilizar una librería externa como uuid.


Ya sabes cómo generar UUIDs en JavaScript de manera sencilla y segura. Si quieres aprender más sobre los UUIDs y cómo funcionan, sigue leyendo.

¿Qué es un UUID?

Un UUID (Identificador Único Universal) se basa en una combinación de componentes para garantizar su unicidad. Los UUIDs son números de 128 bits, lo que significa que hay una cantidad astronómicamente grande de combinaciones posibles. Esto hace que la probabilidad de generar dos UUIDs iguales sea extremadamente baja.

Los UUIDs se representan en formato hexadecimal, utilizando los números del 0 al 9 y las letras de la A a la F. Estos dígitos hexadecimales se agrupan en 32 caracteres y se separan por guiones siguiendo este formato estándar:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

La distribución de caracteres entre los guiones es de 8-4-4-4-12 caracteres, respectivamente:

Por ejemplo:

b48087ff-b06c-41d0-9103-b96c90d7d44a

En esta estructura:

Colisión de UUIDs

Una colisión ocurre cuando, por casualidad, se genera el mismo UUID más de una vez y se asigna a objetos diferentes. Esto podría causar confusión o errores porque dos objetos distintos tendrían el mismo identificador único.

Sin embargo, dado que un UUID es un valor de 128 bits, el número de combinaciones posibles es extremadamente grande. Esto significa que la probabilidad de generar el mismo UUID dos veces es realmente baja, casi inexistente. A efectos prácticos, podemos considerar que cada UUID generado es único.

Conclusión

En resumen, los UUIDs funcionan asignando un número de 128 bits altamente improbable de repetir, estructurado de manera estándar para incluir información sobre su versión y variante, asegurando así su unicidad y consistencia a través de diferentes sistemas.

Un par de cosas que puedes hacer para ayudarme antes de irte:

A ti te cuesta cero y a mí me ayuda un montón. 😊

Jorge Baumann aka Baumannzone
Escrito por J. Baumann

Jorge Baumann es JavaScript senior software engineer, creador de contenido y speaker. Vive en Madrid, le encanta el testing, dibujar con CSS y tiene un perro que se llama Rambo.

Conoce más sobre J. Baumann