Generador Gratuito de Nano ID - Identificadores Únicos Seguros y Compatibles con URL en Línea
¡Genere Nano IDs seguros al instante! Herramienta en línea gratuita que crea identificadores únicos compactos y compatibles con URL, 42% más cortos que UUID. Perfecto para bases de datos, API, tokens y sistemas.
La longitud del Nano ID generado (1-100 caracteres)
Seleccione el conjunto de caracteres para su Nano ID
Nano ID Generado
Visualización
Documentación
Un generador de Nano ID crea una cadena corta y aleatoria de caracteres llamada Nano ID. Los Nano ID funcionan como identificadores únicos para elementos como registros de bases de datos, URL y tokens de API, y es extremadamente improbable que dos ID generados coincidan alguna vez.
¿Qué es un Nano ID?
Un Nano ID es una cadena generada aleatoriamente que se utiliza para etiquetar algo y distinguirlo de cualquier otro elemento. El desarrollador de software Andrey Sitnik creó el formato en 2017 como una alternativa más pequeña al UUID (identificador universalmente único), un identificador de 36 caracteres ampliamente utilizado en informática. Un Nano ID predeterminado tiene 21 caracteres, frente a los 36 de un UUID, lo que supone una reducción aproximada del 42 %.
Cómo generar un Nano ID con esta herramienta
El generador de esta página crea un Nano ID a partir de dos configuraciones.
- Longitud: un número entero entre 1 y 100. El valor predeterminado es 21.
- Conjunto de caracteres: el grupo de caracteres a partir del cual se crea el ID. El valor predeterminado es alfanumérico.
Introduzca una longitud, elija un conjunto de caracteres y pulse «Generar» para crear un ID. Pulse «Copiar» para copiarlo o «Restablecer» para volver a una longitud de 21 y al conjunto alfanumérico. También aparece automáticamente un ID nuevo cada vez que cambia la longitud o el conjunto de caracteres. Debajo de los botones, la herramienta muestra cada carácter del ID como un bloque de color: azul para una letra mayúscula, verde para una letra minúscula, naranja para un dígito y gris para un signo de puntuación.
Si la longitud no es un número entero entre 1 y 100, la herramienta muestra el mensaje «La longitud debe ser un número entero entre 1 y 100» y no genera ningún ID.
Conjuntos de caracteres disponibles
La herramienta ofrece siete conjuntos de caracteres fijos. No acepta un alfabeto personalizado introducido por el usuario. El conjunto «Con símbolos» añade estos 26 signos de puntuación a los caracteres alfanuméricos: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.
| Conjunto de caracteres | Caracteres utilizados | Tamaño del alfabeto |
|---|---|---|
| Alfanumérico (predeterminado) | A-Z, a-z, 0–9 | 62 |
| Seguro para URL | A-Z, a-z, 0-9, -, _ | 64 |
| Numérico | 0–9 | 10 |
| Alfabético | A-Z, a-z | 52 |
| Minúsculas | a-z | 26 |
| Mayúsculas | A-Z | 26 |
| Con símbolos | A-Z, a-z, 0–9 y 26 signos de puntuación | 88 |
El conjunto alfanumérico está seleccionado de forma predeterminada. Excluye el guion y el guion bajo utilizados en el conjunto seguro para URL, aunque las letras y los dígitos por sí solos ya se pueden colocar directamente en una URL de forma segura.
Fórmula del Nano ID
Un Nano ID se crea seleccionando aleatoriamente un número fijo de caracteres de un alfabeto, uno a uno, mediante un generador de números aleatorios criptográficamente seguro. Se trata de un generador diseñado para que su salida no pueda predecirse de antemano.
1id = random(alphabet, size)
2Con la configuración predeterminada, alphabet tiene 62 caracteres y size es 21.
Ejemplo resuelto
Con el alfabeto alfanumérico predeterminado y una longitud de 21, un ID generado posible es:
1K7pQ2mZxT9vY4nR8jH3wL
2Cada carácter se selecciona de forma independiente entre las 62 letras y dígitos, por lo que ejecutar el generador dos veces casi nunca producirá la misma cadena.
Cómo calcular la probabilidad de colisión
Como un Nano ID se elige al azar, es posible, aunque muy poco probable, que dos ID generados coincidan. Esto se denomina colisión. La probabilidad de que ocurra al menos una colisión después de generar k ID sigue la misma formulación matemática que el «problema del cumpleaños»:
1P(collision) ≈ 1 - e^(-k² / (2n))
2Aquí, n es el número de ID posibles: el tamaño del alfabeto elevado a la longitud del ID, o n = alphabet_size^length.
Ejemplo resuelto
Para la configuración predeterminada, con un alfabeto de 62 caracteres y una longitud de 21:
1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2Al resolver la fórmula para una probabilidad de colisión del 1 %, se obtiene:
1k ≈ 9.4 × 10^17 IDs
2Esto significa que deben generarse aproximadamente 940 cuatrillones de ID antes de que exista siquiera una probabilidad del 1 % de que dos coincidan. Generando un millón de ID por segundo, alcanzar esa cantidad llevaría unos 29.700 años.
Cambiar al alfabeto seguro para URL de 64 caracteres aumenta ligeramente la cantidad, hasta unos 1,3 × 10^18 ID para el mismo riesgo del 1 %, porque el alfabeto más grande deja más ID posibles entre los que elegir.
Comparación del Nano ID con otros identificadores
| Tipo | Longitud | Notas |
|---|---|---|
| Nano ID | 21 caracteres, ajustable | Aleatorio, compacto y no ordenable por tiempo |
| UUID | 36 caracteres | Formato estándar, ampliamente compatible y con guiones |
| ULID | 26 caracteres | Ordenable por fecha de creación |
| KSUID | 27 caracteres | Ordenable por fecha de creación e incluye una marca de tiempo |
| Entero autoincremental | Varía | Simple y secuencial, pero predecible y difícil de coordinar entre bases de datos independientes |
Preguntas frecuentes
¿Cuál es la longitud y el conjunto de caracteres predeterminados de un Nano ID?
El valor predeterminado es 21 caracteres del conjunto de caracteres alfanumérico: A-Z, a-z, 0-9, que tiene 62 caracteres en total.
¿Admite esta herramienta un alfabeto personalizado?
No. Ofrece siete conjuntos de caracteres fijos: alfanumérico, seguro para URL, numérico, alfabético, minúsculas, mayúsculas y «Con símbolos».
¿En qué se diferencia un Nano ID de un UUID?
Un Nano ID es más corto. El valor predeterminado es de 21 caracteres, frente a los 36 caracteres de un UUID, aproximadamente un 42 % menos. Ambos se generan aleatoriamente y no son secuenciales.
¿Se puede ordenar un Nano ID por la hora de creación?
No. Los Nano ID son completamente aleatorios, por lo que no contienen información sobre cuándo se generaron. Formatos como ULID o KSUID están diseñados, en cambio, para poder ordenarse por tiempo.
¿Es seguro utilizar un Nano ID como clave primaria de una base de datos?
Sí. Debe almacenarse en una columna de texto o cadena, no en una columna numérica, y contar con un índice único para acelerar las búsquedas.
¿Cuántos Nano ID posibles existen?
Depende de la longitud y del conjunto de caracteres elegidos. Con el alfabeto predeterminado de 62 caracteres y una longitud de 21, existen 62^21, aproximadamente 4,4 × 10^37, ID posibles.
Referencias
- Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
- "Universally unique identifier." Wikipedia, Fundación Wikimedia, https://en.wikipedia.org/wiki/Universally_unique_identifier.
- "ULID Spec." GitHub, https://github.com/ulid/spec.