Generador de UUID thumbnail

Generador de UUID

Genera UUIDs seguros (v4) al instante.

Checking status...

Acerca de Generador de UUID

Genera Identificadores Únicos Universales (UUID) v4 bajo el estándar RFC 4122 al instante. Esta herramienta es perfecta para desarrolladores, ingenieros de control de calidad y administradores de bases de datos que necesitan generar claves de prueba, identificadores de sesión o IDs de objetos únicos.

Cómo usar

  1. Especifica la cantidad de UUIDs que deseas generar.
  2. Elige si deseas incluir guiones (dashes) estándar en el formato de cada UUID.
  3. Haz clic en el botón 'Generar UUIDs' para crear la lista.
  4. Copia los resultados para usarlos en tu código, scripts de base de datos o documentación.

Casos de uso comunes

  • Generación de claves primarias de base de datos únicas para conjuntos de datos de prueba.
  • Creación de IDs de sesión o de solicitud temporales en aplicaciones web.
  • Simulación de identificadores de objetos únicos en el desarrollo de software.

Detalles técnicos

Utiliza generadores de números aleatorios de nivel criptográfico (crypto.getRandomValues) para generar los UUIDs, asegurando el cumplimiento de la especificación v4 con una probabilidad de colisión insignificante.

Preguntas frecuentes

¿Qué es un UUID v4?
Un UUID v4 es una versión basada en números aleatorios. Ofrece un espacio de 128 bits, lo que hace que la probabilidad de colisión sea tan baja que puede ser ignorada.
¿Puedo usarlo sin conexión?
Sí, una vez cargado, la lógica de generación se ejecuta completamente offline en tu navegador. Tus UUIDs nunca se transmiten a ningún servidor.
¿Cuál es la diferencia entre UUID v1 y UUID v4?
UUID v1 se genera a partir del sello de tiempo actual y la dirección MAC de la máquina — está ordenado por tiempo pero expone información del sistema. UUID v4 se genera aleatoriamente sin metadatos del sistema. Para la mayoría de aplicaciones, v4 es preferido porque es más privado y resistente a colisiones.
¿Son verdaderamente únicos los UUIDs?
UUID v4 usa 122 bits de aleatoriedad, dando 5.3 × 10^36 valores posibles. La probabilidad de generar dos UUIDs idénticos es astronómicamente pequeña — en la práctica, nunca verás una colisión en ningún sistema del mundo real.
¿Puedo usar UUIDs como claves primarias de base de datos?
Sí, y es un patrón común en sistemas distribuidos porque los UUIDs pueden generarse del lado del cliente sin un viaje de ida y vuelta a la base de datos. El inconveniente es que los UUIDs v4 aleatorios causan fragmentación de índice en índices B-tree. UUID v7 (ordenado por tiempo) o ULID son mejores opciones si el rendimiento de inserción importa.
¿Puedo generar UUIDs en masa para usar en un script de inicialización de base de datos?
Sí. El Generador de UUID puede producir hasta 100 UUIDs en un solo lote. La salida está formateada como un UUID por línea para copiar y pegar fácilmente en declaraciones SQL INSERT, fixtures JSON o scripts de inicialización. Todos los UUIDs se generan usando la función window.crypto.getRandomValues() del navegador, que proporciona bytes aleatorios criptográficamente seguros conformes con la especificación UUID v4. No se transmiten UUIDs a ningún servidor.

Procesamiento local

Nuestras herramientas locales de archivos, texto y gráficos procesan el contenido en tu dispositivo mediante JavaScript, APIs del navegador y, cuando hace falta, WebAssembly. Nuestros eventos no incluyen nombres o contenido de archivos, texto introducido, valores de gráficos, errores sin filtrar, correos ni referencias de licencia. Las herramientas de red (DNS, WHOIS, IP y pruebas de velocidad) contactan servicios externos para su función. Cargar el sitio, fuentes, bibliotecas y modelos también genera solicitudes de red. WebAssembly no impide por sí mismo el acceso a la red.

¿Qué es un UUID y cómo funciona la generación offline?

¿Qué es un UUID y cómo funciona la generación offline?

Un UUID (Universally Unique Identifier) es una etiqueta de 128 bits que puedes generar completamente offline, dentro de tu navegador, sin contactar ningún servidor ni base de datos central. Debido a que la probabilidad matemática de que dos UUIDs colisionen es astronómicamente baja, la generación offline es segura — y es la base de la arquitectura de aplicaciones local-first orientadas a la privacidad.

Cada vez que creas una nueva cuenta de usuario, guardas un documento o generas un enlace de compartición único, existe una probabilidad muy alta de que un desarrollador haya asignado un UUID a esa acción.

Durante mucho tiempo, el enfoque estándar para generar identificadores únicos era pedírselo a una base de datos central. Envías una solicitud a tu servidor, la base de datos incrementa un número (como el ID #1042) y te lo devuelve. Es un sistema confiable, pero fundamentalmente requiere una conexión constante a una autoridad central.

Cuando construimos aplicaciones descentralizadas, software local-first o utilidades enfocadas en la privacidad, esa conexión constante al servidor se convierte en un problema. No puedes depender de una base de datos para saber cuál debería ser tu próximo ID si tu aplicación necesita funcionar perfectamente offline.

Aquí es donde el UUID cambia la arquitectura. Puedes generar un UUID localmente, completamente offline, dentro de tu navegador, y garantizar matemáticamente que no chocará con ningún otro ID jamás generado por nadie más.

¿Cómo se ve un UUID?

Un UUID es una etiqueta de 128 bits que aparece como una cadena de 36 caracteres compuesta de letras, números y guiones.

123e4567-e89b-12d3-a456-426614174000

Parece caracteres aleatorios sin sentido, pero existe una estructura estricta. La cadena se divide en cinco grupos separados por guiones (8-4-4-4-12). Aunque existen varias versiones de UUID, la Versión 4 (UUIDv4) es la más común para generación completamente aleatoria y offline.

En un UUIDv4, algunos bits están reservados para indicar la versión y la variante. Eso deja exactamente 122 bits para aleatoriedad pura.

¿Por qué dos UUIDs nunca se repiten?

Si miles de dispositivos diferentes generan UUIDs offline, ¿cómo es que ninguno termina con un duplicado?

La respuesta está en la escala.

Dado que tenemos 122 bits aleatorios, el número total de combinaciones UUIDv4 posibles es 2122.

Para ponerlo en perspectiva:

2122 ≈ 5.3 × 1036

Eso es 5.3 undecillones de IDs posibles.

Si generaras 1.000 millones de UUIDs cada segundo durante los próximos 85 años, la probabilidad de crear un solo duplicado (una colisión) seguiría siendo aproximadamente del 50%. Debido a que la probabilidad de colisión es tan astronómicamente baja, podemos eliminar completamente la verificación en la base de datos. Tu navegador no necesita preguntarle a un servidor "¿Este ID ya está tomado?" — simplemente genera la cadena y asume, con certeza matemática casi absoluta, que el ID es globalmente único. Este es el pilar fundamental de la arquitectura de aplicaciones offline-first.

Del escritorio del desarrollador: La trampa del generador pseudoaleatorio

Construir un generador de UUID local suena increíblemente simple — es solo texto aleatorio, ¿verdad? Cuando prototipé por primera vez el generador de UUID offline para LokalTools, caí en una trampa clásica de JavaScript.

Para generar los bits aleatorios, usé la función nativa Math.random(). Era rápida, simple, y la salida parecía completamente única a simple vista.

El problema: Math.random() no es genuinamente aleatorio. Es un Generador de Números Pseudoaleatorios (PRNG). Los navegadores lo implementan usando algoritmos (como xorshift128+) diseñados para velocidad, no para seguridad o entropía criptográfica. Si usas Math.random() para generar UUIDs en un bucle cerrado, las semillas "aleatorias" comienzan a superponerse.

En nuestras pruebas, cuando ejecutamos una prueba de estrés generando 100.000 UUIDs localmente usando Math.random(), empezamos a ver colisiones. Las matemáticas de los 5.3 undecillones se derrumban si tu generador de números aleatorios es predecible.

La solución: Tuvimos que eliminar las funciones matemáticas estándar y acceder a la Web Crypto API. Específicamente, cambiamos nuestro motor de generación para usar window.crypto.getRandomValues().

A diferencia de las funciones matemáticas estándar de JavaScript, la Web Crypto API accede directamente a la fuente de entropía de tu sistema operativo. Observa variaciones microscópicas en tu hardware — como el ruido térmico de la CPU o el tiempo entre pulsaciones del teclado — para inicializar el generador.

Al delegar el trabajo a la API criptográfica a nivel del sistema operativo, garantizamos que la generación local en el navegador mantiene una verdadera aleatoriedad de alta entropía. Las matemáticas eran seguras de nuevo, y todo se mantuvo estrictamente del lado del cliente.

¿Por qué la generación local de UUID gana en privacidad?

Las arquitecturas tradicionales envían una solicitud de red para generar o validar un ID de sesión, un token de documento o una clave API. El flujo se ve así:

  1. Tu dispositivo contacta un servidor.
  2. El servidor genera el UUID.
  3. El servidor registra la creación en una base de datos.
  4. El UUID se envía de vuelta a tu dispositivo.

Este enfoque crea latencia de red innecesaria y deja un rastro de auditoría en un servidor de terceros. Si estás generando una clave de cifrado única para un documento local seguro, contactar un servidor remoto anula completamente el propósito de la privacidad.

Al generar UUIDs localmente usando el motor criptográfico del navegador, se transmiten cero bytes. El ID existe solo en la RAM de tu sistema local hasta que decidas qué hacer con él. En la práctica, esto significa que la generación de tus datos es tan privada como puede ser.

¿Cuándo un ID de base de datos gana realmente?

La generación del lado del cliente es robusta, pero no es la solución perfecta para cada problema de ingeniería de software. Debes ser consciente de las compensaciones arquitectónicas.

La realidad es que los UUIDs completamente aleatorios son terribles para el rendimiento de bases de datos.

Si estás construyendo una aplicación que necesita insertar millones de filas en una base de datos relacional tradicional (como PostgreSQL o MySQL), usar UUIDv4 como clave primaria causa un problema llamado "fragmentación de índice."

Las bases de datos relacionales usan árboles B para organizar los datos. Prefieren datos insertados en orden secuencial (1, 2, 3, 4...). Dado que un UUIDv4 es completamente aleatorio, la base de datos divide y reorganiza constantemente su árbol de almacenamiento interno para acomodar los nuevos registros. Esto crea una amplificación masiva de lectura/escritura y ralentiza las consultas con el tiempo.

Para bases de datos de alto rendimiento, un entero autoincremental tradicional o un UUID ordenado por tiempo (como UUIDv7, que coloca una marca de tiempo al inicio de la cadena) es fundamentalmente mejor.

Pero para IDs de sesión, generación offline de documentos, solicitudes de API idempotentes, o construir herramientas locales privadas sin depender de una conexión a internet, la generación local de UUID sigue siendo completamente incomparable.

Pruébalo tú mismo

Deja de contactar servidores solo para obtener una cadena de texto única. Mantén la arquitectura de tu aplicación desacoplada y tus datos privados.

Visita el Generador de UUID de LokalTools y genera miles de identificadores criptográficamente seguros al instante. Observa qué rápido puede tu propia máquina crear verdadera aleatoriedad, dentro de tu navegador, sin que una sola solicitud llegue a nuestro backend.


Preguntas Frecuentes

¿Qué es un UUID? Un UUID (Universally Unique Identifier) es un identificador de 128 bits estandarizado en RFC 4122, típicamente mostrado como una cadena de 36 caracteres separada por guiones. Está diseñado para ser globalmente único sin requerir una autoridad central que lo asigne.

¿Cuál es la diferencia entre UUID y GUID? GUID (Globally Unique Identifier) es el nombre de Microsoft para el mismo concepto. Un GUID y un UUID son funcionalmente idénticos — ambos son identificadores de 128 bits que siguen el mismo estándar RFC 4122. Los términos son intercambiables en la mayoría de los contextos.

¿Pueden dos UUIDs ser iguales alguna vez? Matemáticamente sí, pero la probabilidad es tan baja que se considera prácticamente imposible. Con 2122 combinaciones UUIDv4 posibles, necesitarías generar más de mil millones de UUIDs por segundo durante décadas antes de que una colisión sea estadísticamente probable.

¿Es seguro generar UUIDs en el navegador sin un servidor? Sí, siempre que uses window.crypto.getRandomValues() en lugar de Math.random(). La Web Crypto API obtiene entropía de tu sistema operativo, haciendo que los UUIDs generados en el navegador sean criptográficamente seguros para usar como tokens de sesión, IDs de documentos y claves API.

¿Qué es UUIDv4 vs UUIDv7? UUIDv4 es completamente aleatorio (122 bits aleatorios) y es mejor para generación offline donde necesitas privacidad y sin ordenamiento secuencial. UUIDv7 embebe una marca de tiempo en milisegundos al inicio, lo que lo hace ordenable y mucho más eficiente como clave primaria en bases de datos con muchas inserciones.

¿Por qué Math.random() es malo para generar UUIDs? Math.random() es un generador de números pseudoaleatorios (PRNG) optimizado para velocidad, no para seguridad criptográfica. En pruebas de estrés, encontramos que generar grandes lotes de UUIDs con Math.random() produce colisiones porque el espacio de semillas subyacente es limitado. Siempre usa la Web Crypto API para la generación de UUIDs.

¿Cuándo debería usar un UUID en lugar de un entero autoincremental? Usa un UUID cuando necesites que los IDs se generen offline, en múltiples clientes desconectados, o cuando no quieras exponer conteos secuenciales de registros a los usuarios finales. Usa enteros autoincrementales cuando necesites un rendimiento óptimo de inserción en base de datos en un único sistema centralizado.