DevToolPal
ES

Generador de Nano ID

Genera Nano ID: identificadores únicos cortos y seguros para URL, con aleatoriedad criptográfica, cualquier longitud, alfabetos predefinidos o personalizados y una estimación de colisiones.

Se ejecuta en local, nunca se sube

Opciones

126 bits por ID · unos 1,3 × 10¹⁸ IDs para un 1 % de probabilidad de colisión

Nano IDs

0 caracteres · 0 B

Qué hace

Esta herramienta genera Nano IDs: identificadores cortos, aleatorios y seguros para URL que puedes usar como claves de base de datos, nombres de archivo, slugs de enlaces cortos, códigos de invitación o datos de prueba. Sigue el mismo método que la biblioteca Nano ID, así que los IDs tienen el mismo aspecto y comportamiento que los creados con nanoid() en tu código.

Puedes cambiar la longitud, elegir uno de los alfabetos integrados o escribir el tuyo, y generar hasta 1000 IDs de una vez. Bajo las opciones verás la entropía por ID y aproximadamente cuántos IDs puedes crear antes de que la probabilidad de un duplicado llegue al 1 %.

Cómo se usa

  1. Elige la Longitud. 21 es el valor por defecto de Nano ID.
  2. Elige un Alfabeto: seguro para URL, alfanumérico, minúsculas, hexadecimal, números, sin caracteres confusos o uno personalizado.
  3. Elige la Cantidad de IDs que necesitas. Se generan en cuanto cambias un ajuste.
  4. Pulsa Generar para obtener un lote nuevo y copia o descarga la lista, un ID por línea.

Ejemplo

Los mismos IDs en JavaScript con el paquete nanoid:

import { nanoid, customAlphabet } from 'nanoid'

nanoid() // "V1StGXR8_Z5jdHi6B-myT"
const orderId = customAlphabet('0123456789ABCDEFGHJKLMNPQRSTUVWXYZ', 12)
orderId() // "4KQ7ZB9XH2MD"

Cómo elegir el alfabeto

El alfabeto seguro para URL concentra la mayor aleatoriedad en cada carácter y no necesita escaparse en URL, nombres de archivo ni JSON. El alfanumérico quita _ y -, lo que ayuda cuando los IDs se seleccionan con doble clic. Hexadecimal y números son útiles cuando un sistema solo acepta esos caracteres, pero requieren IDs más largos para la misma fortaleza. El conjunto sin caracteres confusos elimina caracteres como 0 y O o 1, l e I, para que los IDs sean más fáciles de leer y escribir a mano.

Preguntas frecuentes

› ¿Qué es un Nano ID?

Nano ID es un formato y una popular biblioteca de JavaScript para identificadores únicos aleatorios. El ID por defecto tiene 21 caracteres de un alfabeto seguro para URL de 64 caracteres (A–Z, a–z, 0–9, _ y -), lo que da 126 bits de aleatoriedad, cerca de los 122 bits de un UUID v4 en una cadena mucho más corta.

› ¿Qué longitud deben tener mis IDs?

Depende de cuántos IDs vayas a crear. La estimación bajo las opciones indica aproximadamente cuántos IDs dan un 1 % de probabilidad de que dos sean iguales. Los 21 caracteres por defecto son seguros para prácticamente cualquier sistema; para enlaces cortos o códigos de invitación suelen bastar 10 a 12, junto con una comprobación de unicidad en la base de datos.

› ¿Son lo bastante aleatorios para usos de seguridad?

Los caracteres salen del generador de números aleatorios criptográfico del navegador, y los valores que no caben en el alfabeto se descartan en lugar de aplicar módulo, así que todos los caracteres son igual de probables. Los IDs largos sirven como tokens imposibles de adivinar. No se envía nada a ningún servidor.

› ¿Puedo usar mis propios caracteres?

Sí. Elige Personalizado y escribe el alfabeto, por ejemplo solo mayúsculas para códigos que se leen en voz alta. Necesita entre 2 y 256 caracteres distintos; los repetidos se rechazan porque harían unos caracteres más probables que otros.