🧰 ToolPicoTodas las herramientas →
🆔 Herramienta para desarrolladores · Generador UUID/GUID

Generador UUID

Genera UUID/GUID v4 aleatorias, v1 con marca de tiempo, v3/v5 basadas en nombre y v7 ordenadas por tiempo. Generación en lote de hasta 1000 a la vez, con opciones de formato y un validador — todo en tu navegador, nada se envía nunca a un servidor.

🔒 100% en tu navegador 5 modos UUID + ULID Hasta 1000 en lote Actualizado: 26 jul. 2026
122 bits de aleatoriedad criptográfica (crypto.getRandomValues) más bits fijos de versión/variante.
Nunca se usa una dirección MAC real. Se genera un «nodo» aleatoriamente en cada generación, con el bit multicast activado (como recomienda la RFC 4122) para señalar que no se trata de una dirección de hardware real.
El mismo namespace + el mismo nombre siempre producen la misma UUID (determinista) — no aleatoria.
Los primeros 48 bits son una marca de tiempo en milisegundos — las UUID v7 generadas en secuencia también se ordenan cronológicamente, alfabética/numéricamente. Recomendada para claves primarias de bases de datos.
Introduce una UUID estándar, sin guiones, entre llaves ({}), o con prefijo urn:uuid:, o un ULID de 26 caracteres — para v1, v7 y ULID, la hora de creación integrada también se decodifica en UTC/local.
Respuesta rápida El generador UUID crea valores UUID/GUID conformes a la RFC 4122/9562 v4 (aleatoria), v1 (con marca de tiempo), v3/v5 (basada en nombre) y v7 (ordenada por tiempo) directamente en tu navegador, usando crypto.getRandomValues, criptográficamente seguro. Admite generación en lote de hasta 1000 a la vez, opciones de formato y un validador — ningún dato se envía nunca a un servidor.
128 bitsLongitud de una UUID (16 bytes)
5Versiones (v1, v3, v4, v5, v7)
100%En el navegador, privado
1000Límite de generación en lote
🔒 Privacidad: toda la generación y validación se realiza en tu navegador; ningún dato introducido ni UUID generada se envía nunca a un servidor, ni se almacena ni se registra en uno. La aleatoriedad procede de la Web Crypto API integrada en el navegador (crypto.getRandomValues); el hash MD5/SHA-1 para el modo v3/v5 también se calcula con nuestro propio código JavaScript puro / Web Crypto — no se usa ninguna librería externa ni CDN. Solo al hacer clic en «Copiar enlace» tus ajustes (y, en modo v3/v5, el campo de nombre) se codifican en una dirección compartible.

¿Qué es una UUID, y cuáles son sus versiones?

Una explicación completa de las versiones de UUID según la RFC 4122/9562, cuándo usar cada una, y en qué se diferencia un GUID.

Una UUID (Universally Unique Identifier, identificador único universal) es un identificador de 128 bits (16 bytes) considerado único en la práctica, incluso generado sin una autoridad central. Como texto estándar se escribe con 32 caracteres hexadecimales y 4 guiones, agrupados en 8-4-4-4-12 (por ej. 550e8400-e29b-41d4-a716-446655440000). Esta herramienta puede generar cada versión definida por la RFC 4122 y la actual RFC 9562 — v1, v3, v4, v5 y v7.

¿Cómo se genera una UUID v4?

Respuesta rápidaUna UUID v4 rellena 122 de sus 128 bits con la salida de un generador de números aleatorios criptográficamente seguro (en el navegador, crypto.getRandomValues); los 6 bits restantes llevan los valores fijos de versión (0100) y variante (10). La probabilidad de colisión entre dos UUID v4 distintas es estadísticamente insignificante.

¿Cuál es la diferencia entre UUID v1 y v4?

Respuesta rápidav1 incorpora la marca de tiempo de su creación y un identificador de nodo (clásicamente, una dirección MAC); en teoría puede rastrearse hasta un momento de creación y una máquina. v4 es completamente aleatoria y no lleva ninguna información de tiempo ni de máquina. El modo «v1» de esta herramienta usa un identificador de nodo generado aleatoriamente en lugar de una dirección MAC real — nunca lee información de hardware real.

¿Cómo funcionan las UUID v3 y v5 basadas en nombre?

Respuesta rápidav3 (MD5) y v5 (SHA-1) se generan combinando una UUID de namespace con un nombre (por ej. un nombre de dominio), y luego aplicando un hash al resultado. El mismo namespace + el mismo nombre siempre producen la misma UUID — por tanto, es determinista, no aleatoria. Esto se usa cuando distintos sistemas necesitan derivar el mismo identificador a partir de los mismos datos (por ej. encontrar siempre el mismo registro a partir de una URL dada).

¿Qué es la UUID v7, y por qué se recomienda para bases de datos?

Respuesta rápidav7 es una versión de UUID más reciente (RFC 9562) cuyos primeros 48 bits llevan una marca de tiempo con precisión de milisegundos, siendo el resto aleatorio. Por eso, las UUID v7 generadas en secuencia también se ordenan lexicográficamente en orden cronológico — algo que una UUID v4 no puede hacer — lo que da una ventaja de rendimiento a los índices de bases de datos al reducir la fragmentación de los árboles B.

¿Cuál es la diferencia entre un GUID y una UUID?

Respuesta rápidaGUID es el nombre que Microsoft da a la misma estructura de 128 bits; se basa en el mismo estándar RFC 4122. La única diferencia práctica suele estar en el formato: en .NET, los GUID suelen mostrarse rodeados de llaves ({550e8400-e29b-41d4-a716-446655440000}). Esta herramienta puede producir ese formato con la opción de formato «{ } .NET».

Mini-herramientas adicionales: UUID NIL, ULID, Base64, NanoID y UUID→ULID

Cinco mini-herramientas adicionales inspiradas en herramientas UUID de la competencia: una UUID vacía fija, un identificador ULID ordenable, un convertidor de UUID a Base64/Hex, un generador NanoID configurable y un convertidor de UUID (v1/v7) a ULID.

UUID NIL
Una UUID especial y fija cuyos bits están todos a cero — se usa para representar «vacío» o «ningún valor».
🕒Generar un ULID
128 bits, 26 caracteres Crockford Base32 — ordenable porque los primeros 48 bits son una marca de tiempo.
🔁UUID → Base64/Hex
Muestra los 16 bytes de una UUID en Base64 y en hexadecimal bruto — para una representación más corta en tokens o URL.
🧬Generador NanoID
Identificador aleatorio compacto y URL-safe con alfabeto y longitud configurables — alternativa más corta a UUID/ULID.
🔄UUID → ULID
Convierte una UUID v1 o v7 (con marca de tiempo integrada) a un ULID equivalente, reutilizando esa misma hora de creación.

Tablas de referencia de versiones UUID y formatos

Una comparación citable de versiones, ejemplos de formato, y una comparación UUID/GUID/ULID.

Versiones de UUID — RFC 4122 / RFC 9562
VersiónOrigen de los datos¿Ordenable?Uso típico
v1Marca de tiempo + identificador de nodoParcialmenteSistemas heredados, compatibilidad
v3Namespace + nombre (MD5)NoIdentificador determinista (histórico)
v4Completamente aleatoriaNoUso general, la más común
v5Namespace + nombre (SHA-1)NoIdentificador determinista (recomendada)
v7Marca de tiempo + aleatoriaClaves primarias de bases de datos
ULID (extra)Marca de tiempo + aleatoria (Base32)Identificador ordenable, cadena corta
Variantes de formato de la misma UUID v4
FormatoEjemplo
Estándar (minúsculas)550e8400-e29b-41d4-a716-446655440000
Mayúsculas550E8400-E29B-41D4-A716-446655440000
Sin guiones550e8400e29b41d4a716446655440000
Llaves (GUID .NET){550e8400-e29b-41d4-a716-446655440000}
Prefijo URNurn:uuid:550e8400-e29b-41d4-a716-446655440000
Base64 (16 bytes)VQ6EAOKbQdSnFkRmVUQAAA==
UUID vs GUID vs ULID
PropiedadUUIDGUIDULID
Longitud en bits128128 (mismo estándar)128
Longitud en texto36 caracteres36 (o 38 con llaves)26 caracteres
AlfabetoHexadecimal (0-9, a-f) + guionesHexadecimal + guionesCrockford Base32
¿Ordenable cronológicamente?Solo v1/v7Solo v1/v7Sí (por defecto)
Uso habitualUso generalEcosistema .NET / WindowsClaves de base de datos, IDs de logs

Ejemplos de código por lenguaje: cómo generar una UUID

Código listo para copiar para generar UUID/GUID en Python, JavaScript/Node, Java, C#, Go, PHP, PostgreSQL y MySQL. Cada ejemplo muestra el enfoque estándar del lenguaje en cuestión.

Python 3 — el módulo integrado uuid, sin necesidad de instalación.
# Librería estándar, sin necesidad de instalación
import uuid

# v4 (aleatoria) — el uso más común
print(uuid.uuid4())          # 550e8400-e29b-41d4-a716-446655440000

# v5 (basada en nombre, SHA-1) — determinista
print(uuid.uuid5(uuid.NAMESPACE_DNS, "example.com"))

# v1 (tiempo + nodo)
print(uuid.uuid1())

# Formatos de texto
u = uuid.uuid4()
print(u.hex)                 # sin guiones
print(str(u).upper())        # mayúsculas
JavaScript / Node.jscrypto.randomUUID() integrado en navegadores modernos y Node 19+.
// Navegador + Node 19+ (integrado, v4)
const id = crypto.randomUUID();
console.log(id);             // 550e8400-e29b-41d4-a716-446655440000

// Node.js (vía el módulo crypto)
import { randomUUID } from "node:crypto";
console.log(randomUUID());

// Mayúsculas / sin guiones
console.log(id.toUpperCase());
console.log(id.replace(/-/g, ""));
Java — la clase integrada java.util.UUID (v4 aleatoria y v3 basada en nombre).
import java.util.UUID;

// v4 (aleatoria)
UUID id = UUID.randomUUID();
System.out.println(id);      // 550e8400-e29b-41d4-a716-446655440000

// v3 (basada en nombre, MD5)
UUID named = UUID.nameUUIDFromBytes("example.com".getBytes());
System.out.println(named);

// Análisis a partir de texto
UUID parsed = UUID.fromString("550e8400-e29b-41d4-a716-446655440000");
C# / .NET — la estructura Guid. .NET 9 añade también Guid.CreateVersion7(), ordenada por tiempo.
using System;

// GUID de tipo v4 (aleatoria)
Guid id = Guid.NewGuid();
Console.WriteLine(id);              // 550e8400-e29b-41d4-a716-446655440000
Console.WriteLine(id.ToString("B")); // {550e8400-...} formato GUID .NET
Console.WriteLine(id.ToString("N")); // sin guiones
Console.WriteLine(id.ToString("D").ToUpper()); // mayúsculas

// .NET 9+: v7 (ordenada por tiempo, adecuada para bases de datos)
Guid v7 = Guid.CreateVersion7();
Go — el paquete popular github.com/google/uuid (go get github.com/google/uuid).
package main

import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    fmt.Println(uuid.New())     // v4 (aleatoria)

    // v5 (basada en nombre, SHA-1)
    fmt.Println(uuid.NewSHA1(uuid.NameSpaceDNS, []byte("example.com")))

    // v7 (ordenada por tiempo) — google/uuid v1.6+
    v7, _ := uuid.NewV7()
    fmt.Println(v7)
}
PHP — el paquete ramsey/uuid (composer require ramsey/uuid).
use Ramsey\Uuid\Uuid;

// v4 (aleatoria)
echo Uuid::uuid4()->toString();   // 550e8400-e29b-41d4-a716-446655440000

// v7 (ordenada por tiempo, adecuada para bases de datos)
echo Uuid::uuid7()->toString();

// v5 (basada en nombre, SHA-1) — determinista
echo Uuid::uuid5(Uuid::NAMESPACE_DNS, "example.com")->toString();
PostgreSQLgen_random_uuid() está integrada desde la versión 13 (las versiones anteriores necesitan la extensión pgcrypto).
-- Generar una UUID v4 (aleatoria)
SELECT gen_random_uuid();

-- Valor por defecto automático en una columna de tabla
CREATE TABLE users (
  id    uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  name  text NOT NULL
);

-- Versiones anteriores (PostgreSQL 12 y anteriores):
-- CREATE EXTENSION IF NOT EXISTS pgcrypto;
MySQL 8UUID() genera un valor de tipo v1; se recomienda UUID_TO_BIN(..., 1) para un almacenamiento ordenado.
-- Generar una UUID en texto (tipo v1)
SELECT UUID();

-- Almacenar como BINARY ordenado de 16 bytes (optimizado para el índice)
SELECT UUID_TO_BIN(UUID(), 1);

CREATE TABLE users (
  id    BINARY(16) PRIMARY KEY,
  name  VARCHAR(120) NOT NULL
);

-- Volver a convertir a texto al leer:
-- SELECT BIN_TO_UUID(id, 1) FROM users;

Glosario de términos UUID

Definiciones breves de los conceptos esenciales usados al hablar de UUID/GUID.

UUID / GUIDUn identificador de 128 bits considerado único en la práctica; definido por el estándar RFC 4122/9562.
Nibble de versiónEl decimotercer carácter hexadecimal de una UUID; indica qué versión (1, 3, 4, 5, 7) la generó.
Bits de varianteLos primeros bits del decimoséptimo carácter hexadecimal; indican si la UUID cumple con la RFC 4122 (normalmente 8, 9, a o b).
CSPRNGUn generador de números aleatorios criptográficamente seguro; en el navegador lo proporciona crypto.getRandomValues.
UUID de namespaceUna UUID de prefijo fijo combinada con un nombre en la generación v3/v5 (DNS, URL, OID, X.500 o personalizada).
UUID nilUna UUID especial cuyos bits están todos a cero (00000000-0000-0000-0000-000000000000); significa «sin valor».
Identificador de nodoLos 48 bits clásicamente derivados de una dirección MAC en una UUID v1; en esta herramienta se generan aleatoriamente por seguridad.
ULIDUn identificador ordenable de 26 caracteres que combina una marca de tiempo y aleatoriedad, codificado con Crockford Base32.
Crockford Base32Un alfabeto de 32 caracteres que excluye las letras I, L, O y U para reducir confusiones de lectura.
ColisiónDos generaciones distintas que producen el mismo identificador; estadísticamente insignificante para v4.
Orden monótonoIdentificadores generados sucesivamente que aumentan/se ordenan según su orden de creación (cierto para v7 y ULID).
RFC 4122 / RFC 9562Los estándares IETF que definen las UUID; la RFC 9562 actualiza la RFC 4122 y añade v6/v7/v8.

Guías detalladas

Respuestas detalladas a las preguntas más habituales sobre UUID.

¿Qué versión de UUID debería usar?

Para la mayoría de los escenarios, v4 (completamente aleatoria) es una buena opción por defecto: simple, respetuosa con la privacidad, y no revela ninguna información. Si la usas como clave primaria de base de datos y el rendimiento del índice importa, prefiere v7; como los valores v7 generados secuencialmente se ordenan cronológicamente, causan menos fragmentación en los índices de árbol B.

Si siempre necesitas derivar el mismo identificador a partir de la misma entrada (por ej. una URL o una dirección de correo), usa v5 (basada en SHA-1); v3 (basada en MD5) se conserva solo por compatibilidad con sistemas heredados. Recurre a v1 únicamente cuando trabajes con sistemas antiguos que la requieran por compatibilidad.

Para una clave primaria de base de datos: ¿UUID, autoincremental, o ULID?

Los enteros autoincrementales indexan más rápido, pero pueden colisionar en sistemas distribuidos (cuando varios servidores insertan registros simultáneamente) y revelan públicamente el número de filas. Una UUID v4 nunca colisiona, pero al ser completamente aleatoria, puede fragmentar los índices de árbol B y ralentizar las escrituras.

La UUID v7 o ULID resuelve este problema gracias a un prefijo con marca de tiempo: ninguna de las dos colisiona, y como se insertan en orden, su rendimiento de indexación se acerca al del autoincremental. ULID es también más corto (26 caracteres frente a 36 de la UUID); la elección suele depender de lo que admita tu ecosistema (ORM/base de datos).

¿Cuál es realmente la probabilidad de colisión de una UUID v4?

Una UUID v4 tiene 122 bits generados aleatoriamente, lo que da 2122 (≈5,3 × 1036) valores posibles. Según el cálculo de la paradoja del cumpleaños, haría falta generar unos 2,71 billones (2,71 × 1018) de UUID antes de alcanzar un 50% de probabilidad de colisión — una escala prácticamente imposible, equivalente a que cada persona en la Tierra generara miles de millones de UUID cada segundo.

Por eso, las UUID v4 se consideran con total seguridad «únicas» en aplicaciones reales. Dicho esto, la calidad del generador de números aleatorios importa; esta herramienta usa el criptográfico crypto.getRandomValues en lugar del inseguro Math.random().

Añade esta herramienta a tu sitio (código de inserción)

Incorpora gratis el generador UUID en tu propio sitio. Copia el código a continuación en tu HTML — la herramienta se muestra en una vista simplificada y enlaza a esta página como fuente.

La herramienta insertada tiene un diseño fijo; puedes ajustar el valor de height según tu sitio. Sin publicidad ni datos personales, funciona íntegramente en el cliente.

Preguntas frecuentes

¿Qué es una UUID?
UUID (Universally Unique Identifier) es un identificador de 128 bits (16 bytes) considerado único en la práctica. Como notación estándar se escribe con 32 caracteres hexadecimales y 4 guiones según un patrón 8-4-4-4-12. Está definida por la RFC 4122/9562 y se usa siempre que se necesita un identificador único sin una autoridad central — claves de base de datos, identificadores de sesión, y muchos otros usos.
¿Cómo se genera una UUID v4?
Una UUID v4 rellena 122 bits de los 128 totales a partir de un generador de números aleatorios criptográfico (crypto.getRandomValues); los bits restantes llevan los valores fijos de versión (0100) y variante (10). Esto hace que la probabilidad de colisión sea estadísticamente insignificante.
¿Cuál es la diferencia entre un GUID y una UUID?
GUID es el nombre que Microsoft da a la misma estructura de 128 bits; se basa en el mismo estándar RFC 4122. La única diferencia real suele estar en el formato: en .NET, los GUID suelen mostrarse rodeados de llaves ({...}). Puedes producir ese formato aquí con la opción «{ } .NET».
¿Cómo se generan UUID en lote?
Introduce un número de 1 a 1000 en el campo de cantidad, o elige un chip preestablecido, y haz clic en «Generar». Los resultados se listan uno por línea; cópialos todos con un clic o descárgalos como .txt/.csv.
¿Cuántos caracteres o bytes tiene una UUID?
En datos brutos, 128 bits / 16 bytes. Como texto estándar: 32 caracteres hexadecimales + 4 guiones = 36 caracteres; sin los guiones, 32; rodeada de llaves (estilo GUID .NET), 38.
¿Es seguro usar un generador de UUID online?
Sí. Toda la generación y validación se realiza en tu navegador; usa crypto.getRandomValues, y ningún dato introducido ni UUID generada se envía nunca a un servidor, ni se almacena ni se registra en uno. No se usa ninguna librería externa ni CDN.
¿Cuál es la diferencia entre UUID v1 y v4?
v1 incorpora la marca de tiempo de creación y un identificador de nodo (clásicamente una dirección MAC); en teoría puede rastrearse. v4 es completamente aleatoria. El modo «v1» usa aquí un identificador de nodo generado aleatoriamente en lugar de una dirección MAC real.
¿Qué es un ULID, y en qué se diferencia de una UUID?
ULID tiene 128 bits como una UUID pero se codifica con Crockford Base32 de 26 caracteres, y sus primeros 48 bits son una marca de tiempo en milisegundos. Esto significa que también se ordena cronológicamente en orden alfabético, lo que puede dar una ventaja de rendimiento a los índices de bases de datos.
¿Cómo saber cuándo se generó una UUID v7 o v1?
Las UUID v1 y v7, así como los ULID, llevan una marca de tiempo de creación integrada. Al pegar una en la pestaña Validar, además de la información de versión/variante, la marca de tiempo integrada se decodifica y se muestra en UTC y en hora local. Los primeros 48 bits de una UUID v7 son una marca de tiempo Unix en milisegundos; una UUID v1 lleva el número de ticks de 100 ns desde 1582; los primeros 10 caracteres Base32 de un ULID llevan una marca de tiempo en milisegundos. v3/v4/v5 no llevan ninguna información temporal, por lo que no puede decodificarse ninguna fecha de ellas.
¿Cómo se genera una UUID en Python, C#, PostgreSQL y lenguajes similares?
La sección Ejemplos de código de esta página contiene bloques copiables. En resumen: Python uuid.uuid4(), JavaScript/Node crypto.randomUUID(), Java UUID.randomUUID(), C#/.NET Guid.NewGuid(), Go uuid.New(), PHP Uuid::uuid4(), PostgreSQL gen_random_uuid(), MySQL UUID(). Los ejemplos basados en nombre (v5) y ordenados por tiempo (v7) están en la misma sección.

Metodología y fuentes

El generador UUID de ToolPico es una herramienta de generación UUID/GUID gratuita e independiente. La aleatoriedad de las versiones v4 y v7 se produce con la Web Crypto API estándar del navegador (crypto.getRandomValues). Para la generación basada en nombre v3/v5, MD5 se calcula con nuestra propia implementación en JavaScript puro (RFC 1321), y SHA-1 con la Web Crypto API (crypto.subtle.digest) — no se usa ninguna librería externa ni CDN. En modo v1, nunca se lee información de hardware/MAC real; el identificador de nodo se genera aleatoriamente en cada generación.

Fuentes: RFC 4122 (A Universally Unique IDentifier) · RFC 9562 (el estándar UUID actual, que añade v6/v7/v8) · W3C Web Cryptography API · la especificación oficial de ULID (Crockford Base32). Última actualización: 26 de julio de 2026. Los resultados son algorítmicos; v3/v5 son deterministas, mientras que v1/v4/v7 y ULID se basan en aleatoriedad criptográfica.
Descubre todas las herramientas de ToolPico →

🔗 Añade esta herramienta a tu sitio

Copia el código a continuación en tu propio sitio. La herramienta es gratuita, siempre actualizada, y funciona íntegramente en tu página. No requiere registro.

Vista previa →
⚡ Creado con ToolPico · toolpico.com