¿Qué es NanoID?

NanoID es un generador de ID único minimalista y seguro para URL en JavaScript. Produce cadenas aleatorias compactas que son estadísticamente únicas — similares a UUID v4, pero más cortas por defecto (21 caracteres vs 36) y diseñadas para ser amigables con URL sin necesidad de codificación. Cada carácter se elige de un alfabeto cuidadosamente equilibrado para que cada ID posible sea igualmente probable, eliminando sesgos en la distribución.

NanoID utiliza un generador de números aleatorios criptográficamente seguro (crypto.getRandomValues en navegadores, crypto.randomFill en Node.js), haciendo que los IDs generados sean adecuados para contextos sensibles a la seguridad como tokens de sesión y enlaces únicos. La longitud predeterminada de 21 caracteres proporciona aproximadamente 2.1 × 10³⁰ combinaciones posibles — comparable a UUID v4 — mientras que el formato compacto ahorra ancho de banda y espacio de almacenamiento.

Descripción de la herramienta

Este generador de NanoID en línea te permite crear uno o más NanoIDs instantáneamente en tu navegador sin necesidad de instalación. Puedes controlar la longitud del ID, cuántos IDs generar y qué alfabeto usar — desde el seguro predeterminado hasta hexadecimal, alfanumérico, solo números o un conjunto de caracteres completamente personalizado.

Ejemplos

Alfabeto predeterminado, tamaño 21:

V1StGXR8_Z5jdHi6B-myT
useandom-26T198340PX7
bfghjklqvwyzrictV1StG

Alfabeto hexadecimal, tamaño 16:

3f9a1c2b4e7d0f85
a0c4e8f23b6d917c

Solo números, tamaño 8:

04817263
93571048

Alfabeto personalizado (abc123), tamaño 12:

b2ca31b1ca2b
3a1c2b3c1ab2

Características

  • Longitud ajustable: Establece el tamaño del ID de 1 a 64 caracteres (predeterminado 21)
  • Generación en lote: Genera hasta 1,000 IDs a la vez
  • Presets de alfabeto: Elige entre Predeterminado, Números, Minúsculas, Mayúsculas, Alfanumérico, Hexadecimal, Hexadecimal Mayúsculas, Sin Caracteres Confusos o un conjunto de caracteres completamente personalizado
  • Preset Sin Caracteres Confusos: Elimina caracteres visualmente ambiguos (p. ej. 0, O, I, l) para IDs legibles por humanos
  • Descargar como archivo: Guarda todos los IDs generados en nanoids.txt con un clic

Casos de uso

  • Desarrollo de aplicaciones: Usa NanoIDs como claves primarias en bases de datos o como identificadores de registros en APIs donde se prefiere una cadena corta y segura para URL sobre un UUID completo.
  • Generación de tokens: Genera tokens aleatorios cortos para enlaces de restablecimiento de contraseña, códigos de invitación o slugs de referencia donde la legibilidad y la seguridad para URL son importantes.
  • Pruebas y datos simulados: Produce rápidamente un lote de identificadores únicos con apariencia realista para completar fixtures de prueba o datos prototipo.

Opciones explicadas

Opción Descripción
Tamaño Número de caracteres en cada ID generado (1–64). El predeterminado de 21 proporciona ~126 bits de entropía, equivalente a UUID v4.
Cantidad Cuántos IDs generar en un lote (1–1,000).
Alfabeto El conjunto de caracteres del que extraer. Los alfabetos más grandes y diversos aumentan la entropía por carácter.
Alfabeto personalizado Visible cuando se selecciona Personalizado. Ingresa cualquier carácter; los duplicados se eliminan automáticamente para evitar una distribución sesgada.

Cómo funciona

NanoID selecciona cada carácter generando un byte aleatorio, enmascarándolo para ajustarse al tamaño del alfabeto e intentando de nuevo si el resultado cae fuera del rango válido — una técnica llamada muestreo por rechazo. Esto asegura una distribución perfectamente plana en todos los caracteres del alfabeto independientemente de si el tamaño del alfabeto es una potencia de dos. El alfabeto predeterminado (useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict) es seguro para URL (sin +, / o =) y tiene 64 caracteres, haciendo que cada carácter lleve exactamente 6 bits de entropía.