Slugify
TextoConvierte cualquier texto —incluido chino, acentos y emojis— en un slug seguro para URL. Elige separador, mayúsculas/minúsculas, transliteración CJK→pinyin y un límite de longitud opcional, con vista previa en vivo.
En esta página
¿Qué es una herramienta Slugify?#
Una herramienta Slugify convierte un título legible por humanos en un slug seguro para URL, la cadena compacta, en minúsculas y sin puntuación que vive en una dirección web tras el dominio. How to Brew Coffee at Home se convierte en how-to-brew-coffee-at-home; Café Münchën pasa a cafe-munchen; 你好世界 pasa a ni-hao-shi-jie. Los slugs son la forma en que los blogs, los sitios de comercio electrónico y los sistemas de documentación construyen URLs legibles, compartibles y amigables con el SEO a partir de títulos que nunca se escribieron pensando en una URL.
Lo difícil son justo los caracteres que la gente usa de verdad: acentos (café), ligaduras (ß, æ), rayas y comillas tipográficas, e ideogramas CJK que no tienen representación ASCII en absoluto. Un ingenuo «borra todo lo que no sea a-z» convierte 你好世界 en una cadena vacía, lo que produce una URL rota. Esta herramienta gestiona correctamente los tres casos: descompone las letras acentuadas y elimina las marcas combinantes (é → e), mapea las ligaduras latinas no descomponibles (ß → ss, æ → ae) y translitera los ideogramas CJK a pinyin sin tonos (你好世界 → ni hao shi jie), de modo que un título en chino produzca aun así un slug con sentido y pronunciable.
Todo se ejecuta localmente. El diccionario de pinyin se carga solo cuando la entrada contiene realmente CJK, así que un slug puramente latino nunca paga ese coste.
Cómo se usa#
- Escribe o pega el título en el panel de Entrada de la izquierda.
- Elige el Separador: guion (por defecto) o guion bajo.
- Marca Minúsculas (activado por defecto) para pasar la salida a minúsculas; desmárcalo si necesitas conservar las mayúsculas.
- Marca Transliterar CJK a pinyin (activado por defecto) para convertir los caracteres CJK a pinyin sin tonos; desmárcalo si prefieres eliminar los CJK en vez de transliterarlos.
- Opcionalmente, fija una Longitud máx. (0 significa ilimitado). Cuando el slug la supera, se corta y cualquier separador final suelto se recorta, de modo que la URL nunca termina en un
-desnudo. - Lee el panel de Salida de la derecha: el slug aparece en cuanto cambia la entrada o cualquier opción. Pulsa Copiar para llevártelo.
La línea de estado informa de la longitud del slug y señala dos casos especiales: cuando se transliteró CJK y cuando el resultado se truncó para caber en una longitud máxima.
Características clave#
- Gestión de acentos y ligaduras. La descomposición NFKD más un pequeño mapa de compatibilidad latino convierte
café,Münchën,straße,œuvreen ASCII limpio (cafe,munchen,strasse,oeuvre) en vez de eliminar las letras por completo. - De CJK a pinyin. Los ideogramas chinos se transliteran a pinyin sin tonos mediante un diccionario incluido, así que
你好世界se convierte enni-hao-shi-jie: un slug pronunciable y con sentido, no uno vacío o destrozado. - Fronteras de palabra limpias. Las secuencias CJK se envuelven en espacios antes del paso del separador, así que la salida transliterada se separa en palabras (
ni-hao) en vez de pegarse (nihao). - Límite de longitud con recorte limpio. Una longitud máxima corta el slug y luego elimina cualquier separador final suelto, así que nunca obtienes una URL que termine en
-. - Guion o guion bajo. Elige el separador que espera tu plataforma: la mayoría de los slugs web modernos usan guiones, pero algunos sistemas y convenciones de nombres de archivo usan guiones bajos.
- Carga perezosa del pinyin. El diccionario de pinyin se importa solo la primera vez que la entrada contiene realmente CJK, así que un slug todo latino nunca lo descarga.
- Local y nunca lanza excepciones. Una entrada vacía informa
empty; una entrada que se reduce a nada (por ejemplo, solo emoji) informano-output. Los fraczos se convierten en un mensaje claro, nunca en una excepción.
Ejemplo práctico#
Pega el título del marcador de posición de la entrada, con todos los valores por defecto (separador guion, minúsculas activado, transliterar activado):
Café Münchën — 你好世界
Paso a paso:
- Se detecta CJK, así que
你好世界se translitera ani hao shi jie. - Se eliminan los acentos:
Café→Cafe,Münchën→Munchen. - La rayas y los espacios se colapsan al separador.
- El resultado pasa a minúsculas y se recortan los separadores iniciales y finales.
El panel de salida muestra:
cafe-munchen-ni-hao-shi-jie
Ahora pon Longitud máx. en 20 y vuelve a generar. El slug se corta y se elimina el guion final suelto:
cafe-munchen-ni-hao
Observa que los acentos se convirtieron en ASCII plano, el título chino se convirtió en pinyin pronunciable separado en palabras, y el límite de longitud produjo un fragmento de URL limpio en vez de uno que terminara a mitad de palabra o en un guion desnudo.
Preguntas frecuentes#
¿Por qué mi título en chino se convierte a pinyin en vez de quedarse como caracteres?#
Porque las URLs son más seguras y más portables cuando usan ASCII. Los caracteres CJK en una URL requieren codificación porcentual (cada 你 se convierte en %E4%BD%A0), ilegible para los humanos y para muchas herramientas de analítica. El pinyin sin tonos mantiene el slug pronunciable, con sentido y solo en ASCII: ni-hao-shi-jie es una URL mucho mejor que una cadena de signos de porcentaje. Si prefieres conservar los caracteres originales, desmarca Transliterar CJK a pinyin.
¿Qué pasa con los emoji y los demás símbolos no alfanuméricos?#
Se eliminan. Los emoji, las comillas tipográficas, los corchetes y la mayoría de los signos de puntuación no sobreviven al proceso del slug: no son letras, así que el paso de colapso no alfanumérico los convierte en separadores. Si tu entrada es solo emoji y símbolos, todo se elimina y la herramienta informa no-output en vez de emitir un slug vacío.
¿Debo usar un guion o un guion bajo como separador?#
Para URLs que leerán humanos, usa un guion: los motores de búsqueda tratan los guiones como separadores de palabras y los guiones son la convención en prácticamente todas las plataformas web modernas. Los guiones bajos son adecuados cuando el slug es en realidad un nombre de archivo o un identificador consumido por un sistema que reserva los guiones para otra cosa (rangos de versión, flags). La herramienta admite ambos, así puedes adaptarte a lo que espere tu destino.
¿Cómo funciona el corte por longitud máxima?#
El slug se construye primero completo y luego se corta a la longitud pedida. Si el corte cae en medio de una palabra, la palabra queda parcial; si el corte deja un separador final, ese separador se recorta. Esto garantiza que el slug nunca supere el límite y nunca termine en un - o _ desnudo, que es lo que los campos de URL y los anchos de columna de base de datos exigen en realidad.
¿Es lo mismo que la codificación de URL?#
No, y la diferencia importa. La codificación de URL (codificación porcentual) escapa caracteres para que puedan viajar dentro de una URL: café se convierte en caf%C3%A9. Slugificar, en cambio, normaliza el texto a letras ASCII y separadores: café se convierte en cafe. Los slugs son para el segmento legible por humanos de la ruta de una URL; la codificación porcentual es para transportar con seguridad valores arbitrarios en cadenas de consulta. Si necesitas lo segundo, usa la herramienta /en/encoding/url/.