Le slug est la partie lisible à la fin d'une adresse web — le my-first-post dans example.com/blog/my-first-post. C'est la partie qu'une personne peut lire avant de décider de cliquer, et celle qu'un moteur de recherche lit comme une brève description du contenu de la page, c'est pourquoi il mérite plus d'attention qu'un identifiant de base de données ou une date. Ce générateur gratuit transforme n'importe quel texte en slug : collez un titre dans « Texte à convertir », appuyez sur « Générer », et le résultat apparaît avec un bouton de copie à côté. Les paramètres par défaut correspondent à ce que la plupart des sites recherchent — minuscules, tirets entre les mots, mots de remplissage courants supprimés et lettres non latines translittérées — de sorte qu'un slug utilisable est à portée de clic, et chacune de ces décisions est une option que vous pouvez modifier.
Tout se passe sur votre propre appareil. La page charge un petit moteur JavaScript et l'exécute localement : vos titres ne sont jamais envoyés ni enregistrés, et l'outil continue de fonctionner même si la connexion est coupée. C'est aussi la raison pour laquelle le résultat se met à jour à l'instant où vous changez un paramètre. L'ordre des opérations mérite d'être précisé, car c'est ce qui rend le résultat prévisible : un lien collé est d'abord réduit à son dernier segment, puis le texte est passé en minuscules, les mots vides sont supprimés, les caractères non latins sont translittérés, les chiffres et caractères spéciaux sont retirés si vous l'avez demandé, ce qui reste est assemblé avec votre séparateur, le résultat est tronqué à la longueur maximale, et enfin un doublon reçoit un suffixe numérique. Le « Texte à convertir » accepte jusqu'à 500 000 caractères à la fois, ce qui représente quelques milliers de titres d'articles.
Une ligne en entrée, un slug en sortie. Collez toute une liste de titres et chaque ligne devient son propre slug numéroté, avec le titre d'origine affiché au-dessus en gris, de sorte que dans un lot de cinquante, vous pouvez toujours savoir à quel en-tête correspond chaque slug. Une liste déjà présente dans un fichier n'a pas besoin de passer par le presse-papiers : « Charger à partir d'un fichier », le bouton à côté du champ de saisie, ouvre un fichier texte brut — .txt, .csv, .md, .json, etc. — et dépose son contenu dans le champ. Votre navigateur lit ce fichier exactement comme il lit ce que vous tapez, et il n'est uploadé nulle part. « Découper la saisie par » détermine comment la liste est scindée. L'option « Automatique » est activée par défaut : un saut de ligne sépare toujours les éléments, tandis qu'une virgule ne les sépare que lorsque la saisie est une seule ligne dont les parties ressemblent toutes à des valeurs autonomes — ainsi "prix 3,5 EUR" et "Chapitre 5 : résultats, conclusions" restent intacts au lieu de se briser en fragments. « Un par ligne », « Virgule » et « Espace » forcent le choix lorsque vous connaissez déjà le format de vos données. Le « Format du résultat » décide de la manière dont un lot est renvoyé — un par ligne, séparés par des espaces ou séparés par des virgules — et « Tout copier » ainsi que « Enregistrer dans un fichier » respectent ce choix. L'« Historique » conserve vos 10 derniers lots dans votre propre navigateur, de sorte qu'une liste convertie il y a une heure y est toujours.
Le texte non latin est l'aspect que la plupart des générateurs de slugs traitent de manière approximative, et très peu de manière exacte. Une URL est plus sûre en ASCII pur, donc les lettres cyrilliques, grecques, arabes, chinoises et européennes accentuées doivent être converties, et la seule vraie question est de savoir selon quelle règle. Cette page y répond avec deux couches. La couche générale couvre n'importe quelle écriture : une bibliothèque de translittération offrant une réponse ASCII sensée pour presque n'importe quel caractère, ce qui correspond à l'option « Automatique (toute langue) » sous « Translittérer depuis ». La couche spécifique est un ensemble de tables conçues à la main pour les langues où la réponse générique n'est pas celle que le pays utilise réellement ; le menu « Translittérer depuis » nomme celles qui disposent aujourd'hui d'une table, et l'on peut la choisir manuellement ; la liste s'agrandit à mesure que l'outil atteint des langues qui en ont besoin. Sélectionner l'une d'elles charge sa table dans une grille modifiable sous « Règles de translittération », où chaque lettre est un champ de texte que vous pouvez changer, et « Réinitialiser les règles par défaut » restaure la version standard.
La fonction « Supprimer les mots vides » est activée par défaut. Elle retire les petits mots de liaison — le, la, de, pour, un — qui allongent un slug sans lui ajouter de sens. La liste sous « Mots vides » est entièrement modifiable et arrive déjà remplie : une liste en anglais plus une liste pour la langue de la page sur laquelle vous vous trouvez, ainsi la page en français connaît le, la, les et des. Ajoutez vos propres mots, supprimez ceux que vous voulez garder ou désactivez complètement la fonctionnalité, auquel cas le champ se grisera au lieu de prétendre encore avoir un effet. Deux remarques honnêtes à ce sujet. Supprimer les mots vides est un petit gain de propreté plutôt qu'un levier de référencement : vous obtenez une adresse plus courte et plus claire, pas une meilleure position. Et si chaque mot d'un titre figure par hasard sur la liste, le résultat honnête n'est rien du tout ; l'outil vous l'indique au lieu de vous laisser avec une case vide.
Le reste des options détermine la forme. Le « Séparateur dans le slug » choisit ce qui se trouve entre les mots, et le choix du tiret par défaut n'est pas une question de goût : Google lit un tiret comme un séparateur de mots et un tiret bas comme un connecteur, donc my_first_post arrive au robot comme un seul long mot, tandis que my-first-post est perçu comme trois. Le « Tiret bas (_) » est présent pour les systèmes qui l'exigent. Les « Minuscules » sont activées car la plupart des serveurs traitent les adresses en tenant compte de la casse, et mélanger majuscules et minuscules est un moyen facile de se retrouver avec deux URL pour une seule page. « Supprimer les caractères spéciaux » retire tout ce qui n'est pas une lettre, un chiffre, un espace, un tiret ou un tiret bas, ce qui empêche la ponctuation, les guillemets et les émojis d'entrer dans l'adresse — les émojis sont supprimés spécifiquement avant la translittération pour qu'une fusée ne devienne pas le mot rocket. « Supprimer les chiffres » est désactivé, car un chiffre dans un titre en fait généralement partie. La « Longueur max » va de 10 à 200 avec une valeur par défaut de 80 ; lorsqu'un slug est plus long, le moteur coupe au dernier mot entier qui rentre plutôt qu'au milieu d'un mot. Le chiffre à côté de chaque résultat correspond à sa longueur en caractères et devient rouge après 60 — ce n'est pas une limite stricte, mais le point où un slug commence à être tronqué dans les résultats de recherche et devient encombrant à coller dans un message.
Deux autres options existent car elles ramènent une conversion en masse à un processus en un clic. « Rendre les slugs uniques » gère le cas où deux titres différents se réduisent au même slug — "Top 10 astuces" et "Top-10 astuces" deviennent tous deux top-10-astuces — et donne au deuxième un -2, au troisième un -3, en raccourcissant d'abord la base si le suffixe devait dépasser votre longueur maximale. Deux pages à la même adresse est un problème bien moins coûteux à repérer dans cette liste que dans votre CMS. « Extraire le slug d’une URL collée » fonctionne dans l'autre sens : collez un lien complet et l'outil prend la dernière partie du chemin, supprime les paramètres de requête et les terminaisons .html ou .php, et décode le percent-encoding, ainsi un lien Wikipédia se terminant par %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ressort comme lviv au lieu d'une suite de chiffres hexadécimaux. Il ne se déclenche que lorsque la ligne entière est un lien, de sorte qu'une adresse citée à l'intérieur d'une phrase est laissée telle quelle.
Pourquoi choisir ce générateur de slugs ?
- Uniquement dans le navigateur : vos titres ne sont jamais envoyés et la page fonctionne hors ligne.
- Conversion en masse à partir d'un copier-coller ou d'un fichier texte, avec le titre source au-dessus de chaque slug.
- Normes de translittération réelles par langue, pas une seule table générique pour toutes.
- Ukrainien selon la Résolution n° 55 de 2010 — l'orthographe utilisée dans les passeports.
- Chaque règle modifiable lettre par lettre, avec une réinitialisation en un clic.
- Suffixes automatiques -2 et -3 pour qu'aucun slug ne soit en double dans un lot.
- Collez un lien et récupérez son slug, avec décodage du percent-encoding.
- Une liste de mots vides modifiable qui arrive préremplie pour votre langue.
- Troncature sécurisée à un mot complet, avec un compteur de caractères à côté de chaque résultat.
- Gratuit et illimité : pas d'inscription, pas de quota, rien n'est conservé sur nos serveurs.
Les slugs sont nécessaires partout où une page doit porter une adresse lisible. Un blog ou un site d'actualités transforme chaque titre en slug, ce qui est le cas d'usage principal de cet outil : collez les gros titres de la semaine, obtenez les URL de la semaine. Une boutique en ligne fait de même pour les noms de produits et de catégories, généralement en masse après une importation, et souvent dans une langue dont l'alphabet ne peut pas figurer dans l'adresse. La documentation et les bases de connaissances construisent les ancres et les noms de fichiers de la même manière. Au-delà des adresses web, cette même chaîne propre est ce qu'il vous faut pour un nom de fichier qui ne posera pas de problème sur un autre système d'exploitation, une clé de base de données qu'une personne peut lire dans un journal de logs, un nom de branche, un nom d'image dans une médiathèque, ou l'identifiant d'une section dans un générateur de site statique. Partout où un nom lisible par un humain doit survivre à son insertion dans un champ lisible par une machine, le slug a sa place.
Quelques limites sont bonnes à connaître avant de vous y fier. Il s'agit d'un générateur, pas d'un validateur : il ne vérifiera pas si un slug est déjà pris sur votre site, car il ignore le contenu de celui-ci — l'unicité qu'il garantit s'applique uniquement au lot que vous avez sous les yeux. Les redirections relèvent également de votre responsabilité ; changer le slug d'une page publiée casse son ancienne adresse, et c'est une décision qui appartient à votre CMS plutôt qu'à cet outil. L'option « Enregistrer dans un fichier » produit du texte brut, pas du CSV ou du JSON. La découpe automatique prend une décision concernant les virgules qui est juste dans presque tous les cas, mais pas dans l'absolu, c'est précisément pourquoi « Découper la saisie par » vous permet de forcer le choix. De plus, la translittération est une convention plutôt qu'une traduction — München devient muenchen, pas Munich — donc lorsqu'une page a un nom établi dans la langue cible, ce nom est un meilleur slug que n'importe quelle conversion automatique de l'original.