El slug es la parte legible al final de una dirección web — el my-first-post en example.com/blog/my-first-post. Es la parte que una persona puede leer antes de decidir si hacer clic, y la parte que un motor de búsqueda lee como una breve descripción del contenido de la página, por lo que merece más atención que el ID de una base de datos o una fecha. Este generador gratuito convierte cualquier texto en uno: pega un título en "Texto a convertir", pulsa "Generar", y el resultado aparece con un botón de copia al lado. Los valores predeterminados son los ajustes que la mayoría de los sitios necesitan — minúsculas, guiones entre las palabras, eliminación de palabras de relleno comunes y transliteración de letras no latinas — para que tener un slug utilizable esté a solo un clic de distancia, y cada una de estas decisiones es un interruptor que puedes cambiar.
Todo ocurre en tu propio dispositivo. La página carga un pequeño motor de JavaScript y lo ejecuta localmente: tus títulos nunca se suben ni se registran, y la herramienta sigue funcionando incluso con la conexión desconectada. Esa es también la razón por la cual el resultado se actualiza en el momento en que cambias una configuración. Vale la pena mencionar el orden del proceso porque es lo que hace que el resultado sea predecible: un enlace pegado se reduce primero a su último segmento de ruta, luego el texto se pasa a minúsculas, se eliminan las palabras vacías, se transliteran los caracteres no latinos, se eliminan los números y caracteres especiales (si lo solicitaste), lo que queda se une con tu separador, luego el resultado se recorta a la longitud máxima y finalmente un duplicado obtiene un sufijo numérico. "Texto a convertir" acepta hasta 500.000 caracteres de una vez, lo que equivale a docenas de títulos de artículos.
Una línea de entrada, un slug de salida. Pega toda una lista de títulos y cada línea se convierte en su propio slug numerado, mostrando el título del que proviene justo arriba en gris, para que en un lote de cincuenta aún puedas identificar a qué encabezado pertenece cada slug. Una lista que ya existe en un archivo no tiene que pasar por el portapapeles: "Cargar desde archivo", el botón junto a la caja de entrada, abre un archivo de texto sin formato — .txt, .csv, .md, .json y similares — e inserta su contenido en el campo. Tu navegador lee ese archivo exactamente igual que lee lo que escribes, y no se sube a ninguna parte. "Dividir la entrada por" decide cómo se corta la lista. "Automático" es el valor predeterminado: un salto de línea siempre separa los elementos, mientras que una coma solo los separa cuando la entrada es una sola línea cuyas partes parecen valores independientes — por lo que "precio 3,5 EUR" y "Capítulo 5: resultados, conclusiones" se mantienen completos en lugar de romperse en fragmentos. "Saltos de línea", "Coma" y "Espacio" fuerzan la elección cuando ya conoces el formato de tus datos. "Formato del resultado" decide cómo se devuelve un lote cuando lo tomas — uno por línea, separados por espacios o separados por comas — y tanto "Copiar todo" como "Guardar como archivo" respetan esta opción. El "Historial" guarda tus últimos 10 lotes en tu propio navegador, para que una lista que convertiste hace una hora siga allí.
El texto no latino es la parte que la mayoría de los generadores de slugs resuelven de forma aproximada y muy pocos lo hacen con total precisión. Una URL es más segura en formato ASCII sin procesar, por lo que las letras cirílicas, griegas, árabes, chinas y europeas con acentos deben convertirse, y la única verdadera duda es bajo qué reglas hacerlo. Esta página lo resuelve en dos capas. La capa general cubre cualquier tipo de escritura: una biblioteca de transliteración con una respuesta ASCII sensata para casi cualquier carácter que puedas escribir, que es lo que hace "Transliterar desde" cuando dice "Automático (cualquier idioma)". La capa específica es un conjunto de tablas hechas a mano para aquellos idiomas donde la respuesta genérica no es la que el país utiliza en realidad; el menú "Transliterar desde" nombra los idiomas que hoy tienen una tabla, y se pueden seleccionar manualmente; la lista crece a medida que la herramienta llega a idiomas que necesitan una. Si eliges uno de ellos, su tabla se carga en una cuadrícula editable bajo "Reglas de transliteración", donde cada letra es un campo de texto que puedes modificar, y "Restablecer reglas por defecto" lo devuelve a su estado original.
"Eliminar palabras vacías" está activado por defecto. Elimina las pequeñas palabras de conexión — un, la, y, de, para — que alargan un slug sin aportarle significado. La lista en "Palabras vacías" es totalmente editable y llega ya completada: una lista en inglés más una lista para el idioma de la página en la que te encuentras, por lo que la página en español conoce el, la, los y las. Agrega tus propias palabras, elimina las que desees conservar o desactiva la función por completo, en cuyo caso el campo se oscurecerá en lugar de fingir que sigue siendo relevante. Hay dos detalles sinceros al respecto. Eliminar palabras vacías es una pequeña ganancia en limpieza y no un truco de posicionamiento: obtienes una dirección más corta y limpia, no un mejor puesto. Y si todas las palabras de un título casualmente están en la lista, el resultado honesto es nada en absoluto; la herramienta te lo advierte en lugar de entregarte una caja vacía.
El resto de los interruptores deciden la forma. "Separador en el slug" elige lo que se coloca entre las palabras, y el guion por defecto no es cuestión de gusto: Google lee un guion como separador de palabras y un guion bajo como un conector, así que my_first_post llega al rastreador como una sola palabra larga, mientras que my-first-post llega como tres. El "Guion bajo (_)" está allí para los sistemas que insisten en usarlo. "Minúsculas" está activado porque la mayoría de los servidores distinguen entre mayúsculas y minúsculas en las direcciones, y usar una mezcla de ambas es una forma fácil de terminar con dos URL para una misma página. "Eliminar caracteres especiales" quita todo lo que no sea una letra, dígito, espacio, guion o guion bajo, que es lo que mantiene la puntuación, las comillas y los emojis fuera de una dirección — los emojis se eliminan específicamente antes de la transliteración para que un cohete no se convierta en la palabra rocket. "Eliminar números" está desactivado, porque un número en un título suele ser parte del mismo. La "Longitud máx" va de 10 a 200 y tiene un valor predeterminado de 80; cuando un slug supera esa longitud, el motor lo corta en la última palabra completa que encaja, en lugar de hacerlo a mitad de una. La cifra al lado de cada resultado indica su longitud en caracteres y se vuelve roja a partir de 60 — no es un límite estricto, sino el punto donde un slug comienza a ser truncado en los resultados de búsqueda y se vuelve incómodo de pegar en un mensaje.
Existen dos interruptores más porque convierten la transformación masiva de nuevo en un trabajo de un solo clic. "Hacer los slugs únicos" detecta el caso en que dos títulos diferentes se reducen al mismo slug — "Top 10 consejos" y "Top-10 consejos" se convierten ambos en top-10-consejos — y le da al segundo un -2 y al tercero un -3, acortando primero la base si el sufijo superara la longitud máxima. Dos páginas en una misma dirección es un problema mucho más barato de solucionar en esta lista que en tu CMS. "Tomar el slug de una URL pegada" funciona en la dirección opuesta: pega un enlace completo y la herramienta toma la última parte de la ruta, descarta la cadena de consulta y cualquier terminación .html o .php, y decodifica el formato de porcentaje; por lo que una dirección de Wikipedia que termina en %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 se devuelve como lviv en lugar de una serie de dígitos hexadecimales. Solo se activa cuando toda la línea es un enlace, por lo que una URL citada dentro de una oración se deja como está.
¿Por qué elegir este generador de slugs?
- Solo en tu navegador: tus títulos nunca se suben y la página sigue funcionando sin conexión.
- Conversión en masa pegando o cargando un archivo de texto, con el título original sobre cada slug.
- Estándares reales de transliteración por idioma, no una tabla genérica para todos ellos.
- Cada regla puede editarse letra por letra, con un botón para restablecerlas.
- Sufijos automáticos -2 y -3 para que nunca choquen dos slugs en un mismo lote.
- Pega un enlace y saca el slug de él, con la codificación de porcentaje decodificada.
- Una lista de palabras vacías editable que llega precargada para tu idioma.
- Truncamiento seguro en una palabra completa, con un contador de caracteres junto a cada resultado.
- Gratuito y sin límites: sin registros, sin cuotas, no se guarda nada en nuestros servidores.
- El ucraniano sigue la Resolución n.º 55 de 2010 (la ortografía usada en los pasaportes).
Los slugs son necesarios dondequiera que una página deba llevar una dirección legible. Un blog o sitio de noticias convierte cada titular en uno, que es exactamente el caso para el que se diseñó esta herramienta: pega los titulares de la semana, obtén las URL de la semana. Una tienda en línea hace lo mismo para nombres de productos y categorías, generalmente en masa después de una importación, y muchas veces en un idioma cuyo alfabeto la dirección no puede admitir. La documentación y las bases de conocimientos crean anclajes y nombres de archivos de la misma forma. Más allá de las direcciones web, esta misma cadena limpia es lo que necesitas para un nombre de archivo que no se romperá en otro sistema operativo, una clave de base de datos que una persona pueda leer en un registro, el nombre de una rama, un nombre de imagen en una biblioteca multimedia o el identificador de una sección en un generador de sitios estáticos. Cualquier lugar donde un nombre legible por humanos tenga que sobrevivir al introducirse en un campo legible por máquinas, es un lugar donde un slug pertenece.
Vale la pena conocer algunos límites antes de depender de él. Esto es un generador, no un validador: no comprobará si un slug ya está en uso en tu sitio, porque no tiene idea de qué contiene tu sitio; la singularidad que garantiza es solo dentro del lote que tienes delante. Las redirecciones también son tu responsabilidad; cambiar el slug de una página publicada rompe su antigua dirección, y esa es una decisión para tu CMS en lugar de para esta herramienta. "Guardar como archivo" escribe texto sin formato, no CSV ni JSON. La división automática toma una decisión sobre las comas que es correcta en casi todos los casos, pero no en absolutamente todos, que es precisamente la razón por la que "Dividir la entrada por" te permite anularla. Además, la transliteración es una convención, no una traducción — München se convierte en muenchen, no en Munich — de modo que si una página tiene un nombre consolidado en el idioma de destino, ese nombre es un mejor slug que cualquier conversión automática del original.