Saltar al contenido
DEV-TOOL

Generador Nano ID — corto, URL-friendly, criptográfico

Siete presets de alfabeto, cinco recetas por caso de uso, deslizador de longitud 8 a 64, generación en lote hasta 10 000 — y una calculadora de colisiones por paradoja del cumpleaños en la misma.

Browser-crypto · cryptographic quality This page uses your browser’s built-in cryptographic random source. Cryptographically secure pseudo-random number generator, suitable for security-relevant identifiers.
Use-case recipes
Count
1 to 10,000.
Contains lookalikes
Output
Click "Generate" — your ID appears here.
Collision probability
How many IDs will you draw?
Probability of a collision
0 Practically impossible
Possible ID space 8.51e+37

Computed via the Birthday Paradox: P ≈ 1 − exp(−n·(n−1) / (2·A^L)). A = alphabet size, L = length, n = number of IDs.

Runs locally in your browser Every ID is generated in your browser. No server, no tracking, no cookie.

Cómo funciona

  1. 01

    Text oder Code einfügen

    Füge deinen Inhalt in das Eingabefeld ein oder tippe direkt.

  2. 02

    Automatische Verarbeitung

    Das Tool verarbeitet den Inhalt sofort und zeigt das Ergebnis.

  3. 03

    Ergebnis kopieren

    Kopiere das Ergebnis mit einem Klick in die Zwischenablage.

Privacidad

Alle Berechnungen laufen direkt in deinem Browser. Keine Daten werden auf Server übertragen.

Genera identificadores cortos y URL-friendly mediante el generador criptográfico de números aleatorios del navegador. Por defecto, 21 caracteres del alfabeto URL-safe; con el deslizador entre 8 y 64. Cinco recetas en un clic para slug de URL, clave API, código de cupón, ID de sesión y sufijo de archivo. La calculadora de colisiones integrada muestra en directo, según la paradoja del cumpleaños, qué tan seguro es su elección entre 1 000 y 1 billón de IDs — fin a las dudas sobre la longitud necesaria.

01 — Cómo usarlo

¿Cómo usar esta herramienta?

  1. Elija una receta arriba — o ajuste longitud y alfabeto manualmente.
  2. Determine la cantidad: 1 para una sola ID; 10/100/1 000/10 000 para generación en lote.
  3. Pulse «Generar» — la ID aparece de inmediato. Con «Copiar» al portapapeles o «Guardar como CSV» para exportar.
  4. En el acordeón de colisiones, elija el volumen previsto — la probabilidad de duplicado se calcula en directo según la paradoja del cumpleaños.
  5. Para códigos legibles en voz alta o impresos, elija el alfabeto «Sin confundibles» — el badge Read-Aloud confirma la elección.

¿Qué es una Nano ID?

Una Nano ID es un identificador compacto y URL-friendly — la alternativa más corta al clásico UUID. Por defecto, 21 caracteres del alfabeto URL-safe A-Z a-z 0-9 _ - (conjunto no reservado de URL según RFC 3986). Con 64 caracteres posibles por posición, 21 caracteres dan unos 126 bits de entropía — comparable a un UUID v4 (122 bits), pero 15 caracteres más corto y sin guiones.

Tres propiedades distinguen la herramienta de la competencia analizada:

  • Calculadora de colisiones integrada: mientras ajusta longitud y alfabeto, el acordeón integrado muestra en directo, según la paradoja del cumpleaños, la probabilidad de un duplicado entre 1 000 / 100 000 / 1 M / 1 mil M / 1 billón de IDs tomadas. Las herramientas competidoras ofrecen o solo un generador (sin matemáticas) o solo una calculadora (sin generador) — nosotros combinamos ambos.
  • Recetas por caso de uso: cinco presets en un clic para slug de URL, clave API, código de cupón, ID de sesión y sufijo de archivo. Cada receta fija longitud Y alfabeto según la elección habitual del caso — fin del dolor «¿qué longitud necesito?».
  • Modo sin confundibles + badge Read-Aloud: el alfabeto especial «sin 0/O/o/1/l/I» va bien para códigos impresos o leídos en voz alta (cupones, OCR, tickets de soporte). Un badge confirma de inmediato la «aptitud para lectura en voz alta».

La operación sigue el principio del minimalismo refinado: badge cripto arriba, cinco tarjetas por caso de uso, longitud + cantidad en dos columnas, selector de alfabeto, botón grande «Generar», salida en monoespaciado, acordeón de colisiones. Sin tracking, sin cuenta, sin servidor.

¿Cómo funciona la fuente criptográfica de aleatorios?

La herramienta utiliza crypto.getRandomValues() — la Web Crypto API del W3C, disponible en todos los navegadores modernos desde 2014. Entrega bytes imprevisibles desde el pool de entropía del sistema: Linux usa /dev/urandom, macOS un servicio random análogo, Windows su API criptográfica del sistema. Esas fuentes se realimentan continuamente con eventos de hardware (sincronización de teclado, movimiento del ratón, jitter de red, latencia de disco).

A partir del valor crudo de 32 bits, un muestreo por rechazo forma un índice en el alfabeto elegido — sin sesgo módulo, que en byte % alphabetSize para tamaños de alfabeto no potencia de 2 produciría una distribución desigual. Es el mismo algoritmo de la biblioteca Nano ID original: enmascarar con el menor 2^k − 1 ≥ alphabetSize − 1, descartar valores ≥ alphabetSize, sacar un nuevo byte.

El badge cripto navegador arriba indica activamente qué fuente se utiliza. «Cripto navegador · calidad criptográfica» si crypto.getRandomValues() está disponible; «Pseudoaleatorio · basado en matemáticas» en el raro repliegue (navegadores muy antiguos, WebViews embebidos exóticos). Así la calidad del RNG queda visible — los servicios competidores no lo hacen.

¿Cómo determina la probabilidad la calculadora de colisiones?

La calculadora usa la forma cerrada de la paradoja del cumpleaños:

P(colisión) ≈ 1 − exp( −n·(n−1) / (2 · S) )

con n = número de IDs tomadas y S = tamaño de alfabeto elevado a la longitud. El cálculo corre en espacio logarítmico para que ningún número desborde ni en n = 10^12.

Algunos órdenes de magnitud para intuición:

LongitudAlfabetoCantidad de IDsProbabilidad de duplicado
864 (URL-safe)1 M≈ 0,18 %
836 (alfanum. min.)1 M≈ 18 %
856 (sin confundibles)1 M≈ 0,55 %
1264 (URL-safe)1 mil M≈ 7 × 10^-6
1664 (URL-safe)1 billón≈ 5 × 10^-9
2164 (URL-safe)1 billón≈ 3 × 10^-15
3264 (URL-safe)1 billón< 10^-37

Regla empírica: con IDs cortas (≤ 12 caracteres) DEBE conocer el volumen; en 21 caracteres, un duplicado es prácticamente imposible incluso con 1 billón de IDs tomadas. La calculadora muestra cinco niveles cualitativos — «Prácticamente imposible», «Muy raro», «Raro», «Posible», «Probable» — con badge codificado por color, para ver de un vistazo si su elección es válida.

¿Qué recetas por caso de uso hay?

Cinco presets cubren los escenarios más frecuentes. Cada uno fija longitud Y alfabeto con un clic:

Slug de URL (8 caracteres, URL-safe). Ideal como identificador corto en URL, legible a mano y sin problemas de codificación. Ejemplo: kittokit.com/p/aB3xK_7q. Espacio 64^8 ≈ 2,8 × 10^14 — basta para cualquier acortador de enlaces y para aplicaciones tipo pastebin hasta unas 100 millones de entradas. Para URLs de altísimo volumen (> 1 mil M), mejor 10 a 12 caracteres.

Clave API (32 caracteres, alfanumérico sin símbolos). Sin _ ni - para máxima compatibilidad con cabeceras de token y herramientas que a veces interpretan símbolos como separadores. Espacio 62^32 ≈ 2,3 × 10^57 — matemáticamente sin riesgo de colisión a cualquier volumen realista.

Código de cupón (8 caracteres, sin confundibles). Específico para códigos impresos en bonos o etiquetas. Retira 0/O/o/1/l/I — quedan 56 caracteres, espacio 56^8 ≈ 9,7 × 10^13. Hasta 1 millón de códigos, la probabilidad de duplicado ronda el 0,55 %, sin criticidad en tiradas de cupones (los duplicados se atrapan en caja).

ID de sesión (21 caracteres, URL-safe). El valor por defecto de Nano ID — el «talla única» más seguro. Espacio 64^21 ≈ 4 × 10^37, equivalente en entropía a un UUID. Seguro para sesiones web, IDs de usuario persistentes y valores de cookie. También vale como sustituto directo de un UUID v4 cuando la longitud de la URL pesa.

Sufijo de archivo (6 caracteres, minúsculas + dígitos). Para nombres temporales como report-x7k2qm.pdf o hashes de subida. Las minúsculas encajan con la mayoría de convenciones de sistemas de archivos (Windows insensible a mayúsculas, Linux sensible — minúsculas evitan ambos tropiezos). Espacio 36^6 ≈ 2,2 × 10^9 — sin problema hasta 10 000 subidas paralelas por usuario.

¿Cuáles son los límites de la herramienta?

Tres cosas que la herramienta deliberadamente no hace:

  • Sin generación de UUID: para eso está el generador de UUID aparte — una separación clara evita la sobrecarga de la UI. Para UUIDs v4 o v7, mejor allí.
  • Sin IDs secuenciales (ULID, KSUID, Snowflake): son identificadores con base temporal y otras propiedades (ordenables lexicográficamente, timestamp embebido). Si el volumen de búsqueda lo justifica, llegará una herramienta hermana — hasta entonces, laguna asumida.
  • Sin streaming de más de 10 000 IDs: para volúmenes mayores se bloquearía el hilo principal. 10 000 es el punto de equilibrio entre «útil para generar import CSV» y «la UI sigue respondiendo». Para necesidades reales de muy alto volumen, usar una biblioteca en el servidor.

Estadísticamente: crypto.getRandomValues() está distribuido uniformemente y es auditable para todos los casos estándar. Los fabricantes de navegadores prueban la implementación frente a la suite NIST SP 800-22 — 16 pruebas estadísticas que pasan todos los motores JavaScript modernos.

Para aplicaciones que exigen verdadero azar físico — generación de claves para sistemas de alta seguridad, estudios científicos con doble ciego — una fuente RNG por hardware es la referencia. La cripto del navegador cubre el 99 % de los casos realistas de IDs, pero explícitamente no es un generador de aleatorios por hardware.

Última actualización:

También le puede interesar