Generador de Slugs URL

Convierte cualquier título en un slug URL limpio en tu navegador — uno por uno o toda una lista a la vez. Estándares reales de transliteración para cirílico y acentos, reglas editables, y nada se sube nunca al servidor.

Rellene el texto para la conversión
Opciones avanzadas

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?

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.

FAQ

¿Cómo creo un slug URL?

Pega tu título en "Texto a convertir" y presiona "Generar". El resultado aparece con un botón de copia al lado, convertido con las opciones predeterminadas que la mayoría de los sitios necesitan: minúsculas, guiones entre palabras, palabras de relleno eliminadas y letras no latinas transliteradas. Cada una de ellas es un interruptor que puedes cambiar, y "Opciones avanzadas" contiene el resto: separador, longitud máxima, lista de palabras vacías y reglas de transliteración.

¿Puedo convertir toda una lista de títulos a la vez?

Sí. Pega hasta 500.000 caracteres — un par de miles de titulares — o extráelos directamente de un archivo con "Cargar desde archivo", el botón junto a la caja de entrada, que lo lee en tu navegador sin subirlo. Cada línea se convierte en su propio slug, numerado, con el título del que proviene mostrado encima para que puedas emparejarlos. "Dividir la entrada por" controla cómo se divide la lista, "Formato del resultado" decide si el lote regresa en líneas, separado por espacios o separado por comas, y tanto "Copiar todo" como "Guardar como archivo" se llevan todo a la vez.

¿Cómo maneja el generador las letras cirílicas y acentuadas?

Las translitera a ASCII, en dos capas. Cualquier escritura en absoluto — cirílico, griego, árabe, chino, letras latinas con acento — está cubierta por una biblioteca de transliteración general, que es lo que utiliza "Automático (cualquier idioma)". Además, existen tablas construidas a mano para los idiomas donde la respuesta genérica no es la que el país realmente utiliza; el menú "Transliterar desde" nombra los que tienen una. Si eliges una, se carga su tabla y cada letra es editable.

¿Qué estándar de transliteración se utiliza para el ucraniano?

La Resolución n.º 55 del Gabinete de Ministros del 27 de enero de 2010, el estándar utilizado en los pasaportes ucranianos. Esto incluye los detalles en los que es fácil equivocarse: зг se convierte en zgh para mantenerse distinto de ж, las letras є, ї, й, ю y я adoptan una forma al principio de una palabra y otra en el interior, y el apóstrofo y el signo suave se eliminan sin comenzar una palabra nueva, por lo que Знам'янка se convierte en znamianka en lugar de znamyanka. El español, por su parte, procesa las tildes y la letra ñ mediante la tabla automática sin necesidad de una configuración específica.

¿Puedo cambiar cómo se translitera una letra en particular?

Sí. Abre las "Reglas de transliteración" y cada letra de la tabla es un campo de texto: escribe aquello en lo que desees que se convierta la letra y el resultado se actualiza a medida que escribes. Si borras un campo, la letra se elimina por completo. Tus ediciones se recuerdan en tu propio navegador para la próxima vez, y "Restablecer reglas por defecto" restaura la tabla estándar cuando desees recuperarla.

¿Qué son las palabras vacías y debería eliminarlas?

Son pequeñas palabras de conexión — un, el, y, de, para — que hacen un slug más largo sin hacerlo más claro. Su eliminación está activada de manera predeterminada y la lista en "Palabras vacías" es editable, llegando rellenada con una lista en inglés más una para el idioma de la página en la que estás. Sé honesto sobre su beneficio, sin embargo: produce una dirección más corta y limpia, no una mejor posición de búsqueda. Si un título consiste completamente en palabras vacías, la herramienta te lo indica en lugar de devolver un slug vacío.

¿Debo usar guiones o guiones bajos en un slug?

Guiones, a menos que algo en tu sistema requiera lo contrario. Google trata un guion como un separador entre palabras y un guion bajo como un carácter que las une, por lo que my_first_post se lee como una sola palabra larga, mientras que my-first-post se lee como tres. Por esa razón, el generador utiliza el guion por defecto; "Separador en el slug" ofrece el "Guion bajo (_)" para los sistemas que lo necesiten.

¿Qué tan largo debería ser un slug URL?

Lo suficientemente corto como para leerse de un vistazo: las primeras palabras transmiten el significado y el resto es generalmente el final de una oración. El número al lado de cada resultado indica su longitud en caracteres y se vuelve rojo después de 60, que es aproximadamente donde los resultados de búsqueda comienzan a truncarlo y donde resulta incómodo pegarlo en un mensaje. La "Longitud máx" establece un techo estricto desde 10 hasta 200 caracteres, y el valor predeterminado es 80.

¿Se cortan las palabras a la mitad cuando el slug es demasiado largo?

No. Cuando un slug excede la longitud máxima, el motor retrocede hasta la última palabra completa que quepa y la corta ahí, por lo que un slug truncado se sigue leyendo como palabras en lugar de terminar a mitad de una sílaba. Lo mismo se aplica cuando se añade un sufijo numérico a una repetición: primero se acorta la base para que el slug final siga respetando tu límite.

¿Qué sucede si dos títulos producen el mismo slug?

"Hacer los slugs únicos" está activado de forma predeterminada y se encarga de esto: la primera aparición mantiene el slug normal, la segunda recibe un -2, la tercera un -3, y así sucesivamente. Esto atrapa el caso común en el que dos títulos diferentes se reducen a la misma cosa: "Top 10 consejos" y "Top-10 consejos" se convierten ambos en top-10-consejos. Si lo desactivas, obtendrás el resultado en bruto con los duplicados intactos. Ten en cuenta que la singularidad solo está garantizada dentro del lote que acabas de convertir; la herramienta no puede saber qué existe ya en tu sitio.

¿Puedo pegar una URL en lugar de un título?

Sí. "Tomar el slug de una URL pegada" está activado por defecto, y cuando una línea entera es un enlace, la herramienta extrae la última parte de la ruta, descarta la cadena de consulta y cualquier terminación .html o .php, y decodifica la codificación porcentual — por lo que una dirección de Wikipedia que termina en %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 vuelve como lviv en lugar de una secuencia hexadecimal. Solo se activa en una línea que sea un enlace en su totalidad, por lo que una URL citada dentro de una oración se trata como texto normal.

¿Se envía mi texto a un servidor?

No. La conversión se ejecuta en tu navegador como JavaScript local. No se sube nada, no se registra nada, y una vez cargada la página, sigue funcionando sin conexión a internet. Los titulares no publicados, nombres de productos internos y trabajos de clientes se quedan en tu máquina, lo cual es la razón práctica para preferir una herramienta local en lugar de una en un servidor para esta tarea en particular.

¿Por qué mi oración única se dividió en dos slugs?

Porque contenía una coma y "Dividir la entrada por" estaba en "Automático". Ese modo trata un salto de línea como un separador definitivo y una coma como uno probable, y solo divide en las comas cuando las partes de una sola línea parecen valores independientes; un decimal como 3,5 o una oración con dos puntos se dejan intactos intencionalmente. Cuando un título igual se divide y no debería hacerlo, cambia "Dividir la entrada por" a "Saltos de línea" y la entrada solo se cortará donde realmente hayas presionado Enter.