Generador de NanoID

Genera valores NanoID online: 21 caracteres URL-safe por defecto, unos 126 bits de aleatoriedad, con longitud y alfabeto editables.

Formato
ID generados
Listo. Genera valores NanoID en tu navegador.

Cómo se construye este ID

Estructura
21 caracteres URL-safe por defecto de A-Z, a-z, 0-9, guion bajo y guion.
Entropía
Unos 126 bits con el alfabeto por defecto de 64 caracteres y longitud 21.
Tiempo
Sin timestamp; NanoID es opaco salvo que introduzcas significado en un alfabeto personalizado.
Riesgo de colisión
El riesgo cambia con la longitud y el alfabeto. El valor por defecto está en un rango práctico similar a UUID v4.
Ejemplo
TJgSH2h1XGn3gd5MpYw28

Tus ID se generan localmente con aleatoriedad fuerte del navegador. No se envía nada a BroBroGo.

Preguntas frecuentes

¿Por qué usar NanoID?

NanoID es más corto que UUID, URL-safe por defecto y conserva mucha aleatoriedad si mantienes la longitud y el alfabeto por defecto.

¿Puedo cambiar el alfabeto?

Sí. La página NanoID bloqueada mantiene los controles de longitud y alfabeto. Alfabetos más pequeños o longitudes menores suben el riesgo de colisión.

Generación de identificadores únicos con Nano ID: personalización y seguridad en el navegador

Esta página genera identificadores únicos siguiendo el formato Nano ID. El funcionamiento es simple: eliges una longitud, defines un alfabeto de caracteres permitidos y el sistema produce una o varias cadenas compactas, seguras para URL y resistentes a colisiones. Todo el proceso ocurre localmente, en tu navegador, sin enviar ningún dato a ningún servidor.

¿Qué diferencia a esta herramienta de otras opciones?

Mientras que los UUID tienen una longitud fija de 36 caracteres y los ULID de 26, Nano ID utiliza por defecto 21 caracteres — significativamente más corto que un UUID, pero ofreciendo una resistencia a colisiones comparable. La clave está en que tanto la longitud como el alfabeto son completamente ajustables.

  • La longitud se puede configurar entre 2 y 36 caracteres mediante un deslizador (slider). El valor predeterminado es 21.
  • El alfabeto es un campo de texto editable. Por defecto incluye caracteres seguros para URL (letras mayúsculas y minúsculas más dígitos, excluyendo caracteres ambiguos). Debe contener al menos 2 caracteres diferentes.
  • El número de IDs a generar puede ir de 1 a 100.

Cualquier cambio en estos parámetros provoca la regeneración inmediata de los identificadores. Si el alfabeto se reduce a un solo carácter, los resultados se borran, el contador de IDs pasa a 0 y el botón «Copiar todas» se desactiva.

Cómo funciona la generación de Nano IDs

El proceso se basa en la generación de números aleatorios criptográficamente fuertes usando crypto.getRandomValues() del navegador. Esto garantiza que cada ID sea impredecible y no requiera intercambio con ningún servidor — privacidad total.

Para generar un Nano ID de longitud L usando un alfabeto de A caracteres:

  1. Se calcula el número de bits necesarios para representar un carácter del alfabeto: log2(A).
  2. Se obtienen suficientes bytes aleatorios para cubrir L * log2(A) bits.
  3. Se mapean esos bytes a los índices del alfabeto, descartando valores fuera del rango para evitar sesgos (rejection sampling).
  4. Se repite para cada carácter hasta completar la longitud.

El tamaño del alfabeto y la longitud determinan la entropía total del ID. Por ejemplo, un Nano ID de 21 caracteres con el alfabeto por defecto (64 caracteres URL-safe) tiene una entropía de 21 * log2(64) = 126 bits, comparable a un UUIDv4 (122 bits). Si reduces el alfabeto a solo dígitos (10 caracteres) y usas una longitud de 8, la entropía baja a 8 * log2(10) ≈ 26.6 bits, menos segura pero suficiente para identificadores efímeros en sistemas pequeños.

Parámetros de entrada

Parámetro Rango / valores Descripción
Formato Nano ID Única opción (actualmente)
Cantidad (Count) 1 – 100 Número de IDs a generar en una tanda
Longitud (Length) 2 – 36 (por defecto 21) Número de caracteres de cada ID
Alfabeto (Alphabet) Texto editable con ≥2 caracteres distintos Caracteres permitidos en el ID

Estados y mensajes de salida

  • Ready. — Estado inactivo, listo para generar.
  • Generated. — Tras una generación exitosa.
  • Copied all! — Cuando se copian todos los IDs al portapapeles.
  • Alphabet needs at least 2 different characters. — Error mostrado si el alfabeto contiene solo un carácter único.
  • Además, se muestra el número de IDs generados (IDs count) y la lista de identificadores.

Reglas y casos límite importantes

  • Alfabeto insuficiente: Si el usuario edita el campo alfabeto y deja solo un carácter (p.ej., solo la letra 'a'), los resultados se limpian inmediatamente, el contador pasa a 0 y el botón "Copiar todas" se deshabilita. Esto tiene sentido: con un solo carácter, todos los IDs serían idénticos (p.ej., "aaaa...") y no habría unicidad.
  • Regeneración automática: Cualquier cambio en longitud, alfabeto, cantidad o formato regenera instantáneamente los IDs. No hay botón «Generar» explícito más allá de la interacción con los controles.
  • Copia individual: Haciendo clic sobre un ID concreto se copia al portapapeles sin necesidad de botones adicionales.
  • Generación local: Ningún dato sale del navegador. Ideal para entornos donde la privacidad es crítica.

¿Quién necesita esta herramienta?

  • Desarrolladores de APIs web que necesitan identificadores cortos y seguros para tokens de sesión, enlaces acortados, o claves primarias en bases de datos. Un ID de 21 caracteres ocupa mucho menos espacio que un UUID de 36, reduciendo el tamaño de índices y almacenamiento.
  • Arquitectos de sistemas que trabajan con formatos estrictos: a veces el alfabeto debe evitar caracteres ambiguos (como 'O' y '0', 'l' y '1'). Esta herramienta permite personalizarlo fácilmente.
  • Cualquier persona que construya sistemas de alto volumen donde la longitud del identificador impacta directamente en el rendimiento de las consultas y el ancho de banda.
  • Usuarios preocupados por la privacidad que quieren generar identificadores sin que ninguna información (ni siquiera el número de IDs generados) salga de su máquina.

Comparación práctica: Nano ID vs UUID vs ULID

Característica Nano ID (por defecto) UUID v4 ULID
Longitud (caracteres) 21 36 26
Entropía (bits) 126 122 128*
Alfabeto personalizable No No (predefinido)
Ordenable cronológicamente No No
Caracteres seguros para URL No (guiones)
Generación local sin servidor Sí (en navegador con crypto) Sí (depende de implementación)

*La entropía de ULID varía; la parte de tiempo aporta 48 bits y la aleatoria 80 bits, total 128 bits.

La ventaja principal de Nano ID es su flexibilidad: puedes acortar la longitud hasta 2 caracteres (útil para identificadores internos temporales) o alargarla hasta 36 para máxima resistencia a colisiones. Con UUID estás limitado a 36 caracteres fijos.

Preguntas frecuentes (FAQ)

¿Por qué el alfabeto debe tener al menos 2 caracteres?

Si solo hay un carácter posible, todos los IDs generados serían idénticos (p.ej., "aaaaaaaa..."). Esto anula el propósito de unicidad. La herramienta lo detecta y borra los resultados para evitar confusiones.

¿Qué entropía tiene un Nano ID de 8 caracteres con alfabeto alfanumérico (a-z, A-Z, 0-9)?

Ese alfabeto tiene 62 caracteres. La entropía es 8 * log2(62) ≈ 8 * 5.95 ≈ 47.6 bits. Es suficiente para aplicaciones con pocos miles de IDs (riesgo de colisión bajo), pero no para sistemas con millones.

¿Los IDs se generan con criptografía segura?

Sí. Se usa crypto.getRandomValues() del navegador, que proporciona números aleatorios criptográficamente fuertes. No se emplea Math.random(), que es menos segura y predecible.

¿Puedo usar este generador para claves de bases de datos?

Sí, pero ten en cuenta que Nano ID no es ordenable cronológicamente. Si necesitas orden por tiempo deberías considerar ULID o añadir un timestamp. Para la mayoría de bases de datos NoSQL o como claves primarias alternativas, Nano ID funciona perfectamente.

¿Qué ocurre si cambio el alfabeto a solo números y pido 100 IDs de longitud 3?

El alfabeto de 10 dígitos permite 10^3 = 1000 combinaciones posibles. Como el generador evita duplicados, solo podrá producir como máximo 1000 IDs únicos. Si pides 100 IDs dentro de ese espacio, no hay problema; pero si pidieras 2000 IDs con alfabeto numérico y longitud 3, no podría generar tantos únicos (el límite es 1000). La herramienta no impide esta situación explícitamente; el usuario debe tenerlo en cuenta.

¿Se envía alguna información a BroBroGo?

No. Todo el proceso ocurre localmente en tu navegador, usando JavaScript del lado cliente. Ni los parámetros ni los IDs generados se envían a ningún servidor. Puedes usarlo desconectado una vez cargada la página.

Conclusión práctica

La herramienta de generación Nano ID ofrece un control fino sobre la longitud y el alfabeto, permitiendo adaptar los identificadores a requisitos muy específicos: desde códigos ultracortos para entornos de pruebas hasta claves con alta entropía para producción. La generación local y el uso de criptografía segura la convierten en una opción fiable para desarrolladores que valoran tanto la personalización como la privacidad. Al ajustar estos dos parámetros — longitud y alfabeto — puedes equilibrar legibilidad, seguridad y rendimiento según las necesidades de tu aplicación.