NanoID Generator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Uses crypto.getRandomValues for cryptographically secure random generation.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand NanoID Generator

Genera identificadores aleatorios cortos y seguros para URL, con longitud y alfabeto configurables.

How it works

Los bytes proceden de crypto.getRandomValues y se enmascaran hasta el tamaño del alfabeto, descartando los valores fuera de rango para que todos los caracteres sigan siendo igual de probables. Los 21 caracteres predeterminados sobre un alfabeto de 64 símbolos (A-Z, a-z, 0-9, guion bajo y guion) llevan 126 bits de aleatoriedad — más que los 122 bits de un UUID v4 — en 21 caracteres en lugar de 36. Acortar el identificador o estrechar el alfabeto recorta esa cifra de forma proporcional: 21 caracteres hexadecimales son solo 84 bits.

When to use it

  • Identificadores públicos en URL donde un UUID de 36 caracteres resulta aparatoso.
  • Enlaces para compartir, códigos de invitación e identificadores de documentos que la gente puede pegar por ahí.
  • Nombres de archivo y claves de objeto que deben ser seguros en una URL y en una línea de comandos.
  • Un identificador hexadecimal o solo numérico para un sistema posterior que rechaza otros caracteres.
  • Recortar la longitud del identificador en un sistema donde el almacenamiento o la longitud de la URL importan de verdad.

Watch out for

  • Acortar no sale gratis. Pasar de 21 caracteres del alfabeto predeterminado a 10 lo lleva de 126 bits a 60, donde las colisiones dejan de ser teóricas a escala. Dimensione la longitud según su volumen de generación, no según lo que parezca elegante.
  • El alfabeto predeterminado contiene guion y guion bajo. Ambos son seguros para URL, pero muchas herramientas de línea de comandos leen como una opción un identificador que empieza por guion: use el conjunto alfanumérico para valores que se pasarán como argumentos.
  • Que no sea adivinable no significa que esté autorizado. Un NanoID en una URL es una capacidad: todo el que reciba el enlace tiene el acceso que el enlace concede, salvo que los permisos se comprueben aparte.
  • Un identificador con alfabeto numérico es una cadena, no un número. Analizarlo como entero elimina los ceros iniciales y pierde precisión más allá de unos 16 dígitos.

Not the right tool for: Claves primarias de base de datos donde importa el orden de inserción. Los NanoID son pura aleatoriedad sin componente temporal, así que fragmentan los índices exactamente igual que el UUID v4: use ULID o UUID v7 ahí.

Frequently Asked Questions

¿Cómo se compara NanoID con UUID?

Los 21 caracteres predeterminados de NanoID tienen unos 126 bits de entropía, similar al UUID v4 (122 bits), pero usan solo 21 caracteres frente a 36 (un UUID con guiones). Es seguro para URL, no lleva guiones y evita la sobrecarga del formato UUID. Sirve para identificadores en URL, nombres de archivo y bases de datos.

¿Qué ocurre si acorto la longitud del identificador?

Los identificadores más cortos tienen más riesgo de colisión. Use la calculadora de colisiones de NanoID: con 10 identificadores por segundo, uno de 21 caracteres necesita unos 149 años para alcanzar el 1 % de probabilidad de colisión. Uno de 13 caracteres necesita solo unos 12 años al mismo ritmo. Ajuste la longitud a su volumen de generación.

¿Puedo usar un alfabeto personalizado?

Sí: sustituya el alfabeto predeterminado (A-Za-z0-9_-) por los caracteres que quiera. Solo numérico (0-9) para identificadores de aspecto numérico, hexadecimal (0-9a-f) para identificadores hex, o su propio conjunto. La herramienta muestra la probabilidad de colisión de su configuración.

How to Use NanoID Generator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.