Título o texto

Slug

¿Qué es el Generador de Slugs URL?

Escribiste un artículo titulado "Cómo Analizar una URL en JavaScript — Guía del Dueño de un Café (Edición 2026)" y ahora necesitas una ruta URL para él. No quieres %E2%80%94 ahí, no quieres espacios, no quieres mayúsculas que rompen en servidores sensibles a mayúsculas. Quieres como-analizar-una-url-en-javascript-guia-del-dueno-de-un-cafe-edicion-2026. Eso es lo que hace esto. Pega el título, copia el slug. El término viene del mundo editorial — consulta la entrada de Wikipedia sobre URLs amigables para la etimología.

El algoritmo es el estándar. Convertir a minúsculas, luego ejecutar String.prototype.normalize('NFD') para descomponer caracteres Unicode en letra base más marcas combinantes. Eliminar las marcas (así é se convierte en e, ñ en n). Manejar algunas ligaduras comunes a mano — æ se convierte en ae, ø en o, ß en ss, ł en l. Reemplazar cualquier secuencia de caracteres no alfanuméricos con un solo guion. Recortar guiones iniciales y finales. Limitar a 80 caracteres en un límite de palabra para que no termines con un slug cortado a la mitad.

¿Por qué kebab-case? Porque los guiones son la convención. Las directrices de estructura de URL de Google recomiendan guiones sobre guiones bajos para separar palabras en URLs — los buscadores interpretan los guiones como límites de palabra. RFC 3986 define los caracteres no reservados en una ruta URL (letras, dígitos, guion, punto, guion bajo, tilde) y la mayoría de las convenciones de slug se quedan en un subconjunto de esos. Snake_case (mi_articulo) y Title-Case-Slug (Mi-Articulo) son alternativas que verás, pero kebab-case en minúsculas es lo predeterminado en todas partes, desde la práctica de URLs limpias hasta los valores por defecto de la mayoría de los CMS.

Cómo Usar el Generador de Slugs

Tres pasos. Cada uno coincide con un botón de esta página.

1

Pega un Título o Carga el Ejemplo

Suelta un título, titular, nombre de producto o cualquier texto en el panel izquierdo. Haz clic en Ejemplo para cargar un ejemplo real con guiones largos, acentos y paréntesis — el tipo de título que rompe el código de slug ingenuo. Entrada de ejemplo:

Cómo Analizar una URL en JavaScript — Guía del Dueño de un Café (Edición 2026)

Todo vale — emojis, letras acentuadas, comillas tipográficas, guiones largos, dobles guiones, espacios múltiples. El slug sale limpio.

2

Lee el Slug

El panel derecho muestra el slug mientras escribes. Minúsculas, con guiones, solo ASCII, limitado a 80 caracteres en un límite de palabra. Si la entrada no contenía caracteres válidos para slug (por ejemplo, solo emojis o solo puntuación), verás una nota amigable en lugar de un resultado vacío confuso.

3

Copia o Descarga

Haz clic en Copiar para enviar el slug al portapapeles, o Descargar para guardarlo como archivo .txt. Usa Limpiar en el panel de entrada para empezar de nuevo con un título nuevo.

Cuándo lo Usarías de Verdad

URLs de artículos de blog

Tu CMS genera slugs automáticamente pero son feos — elimina acentos mal, deja guiones bajos, no maneja comillas tipográficas. Pegas el título aquí, obtienes un slug limpio, lo pegas de vuelta en el campo de URL. Funciona para WordPress, Ghost, blogs Next.js hechos a mano, cualquier cosa que te permita sobrescribir el slug.

URLs de productos o categorías en e-commerce

Marco Rivera añade un nuevo producto llamado "Set de Crème Brûlée — Pack de 4 (Edición Limitada)". La URL necesita ser /productos/set-de-creme-brulee-pack-de-4-edicion-limitada, no /productos/Set+de+Crème+Brûlée+%E2%80%94+Pack+de+4+%28Edición+Limitada%29. Genera el slug y úsalo.

Nombres de archivo a partir de títulos humanos

Estás guardando documentos subidos a disco y el cliente escribió "Informe Q4 — Final (v3).docx" como título. No quieres eso como nombre de archivo. Genera el slug del título, añade .docx, escribe el archivo. Funciona igual para claves S3, nombres de ramas de GitHub a partir de títulos de issues, y nombres de canales de Slack a partir de nombres de proyectos.

Migrar contenido de un CMS diferente

Priya Patel está migrando 800 artículos de un CMS antiguo a uno nuevo y los títulos originales tienen codificación inconsistente — algunos acentuados, otros no, algunos con emojis de un rediseño de 2018. Pasa cada título por el generador, deduplica, y tienes tu nuevo mapa de URLs listo para la tabla de redirecciones.

Preguntas Frecuentes

¿Por qué eliminas los acentos en lugar de codificarlos en porcentaje?

Porque el slug está pensado para ser legible por humanos. café en el slug se convierte en %C3%A9 en la URL real, que se ve horrible en la barra del navegador, rompe el copia-pega en chats y confunde a lectores no técnicos. Reducir a ASCII mantiene la URL legible y amigable para SEO. La normalización NFD es la forma estándar de hacer esa descomposición.

¿Y los alfabetos no latinos — chino, árabe, hindi?

NFD no descompone ideogramas ni alfabetos que no tienen estructura base+marca-combinante. Así que un título en chino producirá un slug vacío aquí, y verás el mensaje "no hay caracteres válidos para slug". Para alfabetos no latinos tienes dos opciones: transliterar primero (usando una librería como ICU o unidecode), o usar el alfabeto original en la URL — los navegadores modernos y Google manejan Unicode en URLs sin problema, solo que con menos elegancia visual.

¿Por qué limitar a 80 caracteres?

No hay una regla estricta, pero las URLs que superan ~80 caracteres en el segmento de ruta empiezan a romperse mal en correos, vistas previas sociales y medios impresos. La guía de Google no fija un número pero recomienda URLs "simples y descriptivas" — las largas no son ninguna de las dos. El límite encuentra el último guion antes de los 80 caracteres para evitar un corte a mitad de palabra.

¿Maneja emojis?

Sí. Los emojis se eliminan junto con otros caracteres no alfanuméricos. Así "🎉 ¡Nuevo Lanzamiento! 🚀" se convierte en nuevo-lanzamiento. Si tu slug termina vacío (entrada solo con emojis), obtienes la nota amigable de slug vacío en lugar de una URL rota.

¿Cuál es la diferencia entre esto y codificar la URL del título?

La codificación URL conserva cada carácter pero escapa los inseguros — así los espacios se convierten en %20, los acentos en bytes UTF-8 escapados con porcentaje. El resultado es una URL válida pero ilegible. Un slug es algo distinto: un segmento de ruta amigable para humanos que descarta los caracteres que no pertenecen. Usa codificación URL para parámetros de consulta, slugs para segmentos de ruta. El estándar URL del WHATWG tiene las definiciones precisas para ambos.

¿Debería usar kebab-case o snake_case?

Kebab-case (mi-articulo) para URLs — esa es la convención y es lo que los buscadores tratan como separador de palabras. Snake_case (mi_articulo) está bien para nombres de variables e identificadores de base de datos, pero en URLs los guiones bajos a menudo se tratan como parte de la palabra, lo que perjudica el SEO. Esta herramienta usa kebab por defecto. Si necesitas snake, busca y reemplaza los guiones en la salida.

Otras Herramientas de URL y Texto

Un slug es una pieza de una URL. Esto es lo demás que combina con él: