Générateur de Slug URL

Convertissez n'importe quel titre en un slug URL propre dans votre navigateur — un par un ou toute une liste à la fois. Normes réelles de translittération pour le cyrillique et les accents, rien n'est jamais uploadé.

Remplissez le texte pour la conversion
Options avancées

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,50 CHF" 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 « Sauver 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 table ukrainienne suit la Résolution n° 55 du Cabinet des Ministres de 2010, la norme imprimée dans les passeports ukrainiens, incluant les détails qu'il est facile d'oublier : зг devient zgh plutôt que zh pour rester distinct de ж ; є, ї, й, ю et я prennent une forme au début d'un mot et une autre à l'intérieur ; et l'apostrophe ainsi que le signe mou sont supprimés sans commencer de nouveau mot, de sorte que Знам'янка devient znamianka et non znamyanka. L'allemand utilise par défaut la forme étendue ä → ae, ö → oe, ü → ue que les adresses allemandes utilisent réellement, avec une variante simple ä → a si vous préférez.

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 ?

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 « Sauver 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.

FAQ

Comment créer un slug URL ?

Collez votre titre dans « Texte à convertir » et appuyez sur « Générer ». Le résultat apparaît avec un bouton de copie à côté, converti avec les paramètres par défaut dont la plupart des sites ont besoin : minuscules, tirets entre les mots, mots de remplissage supprimés et lettres non latines translittérées. Chacun de ces éléments est une option que vous pouvez modifier, et les « Options avancées » contiennent le reste : séparateur, longueur maximale, liste de mots vides et règles de translittération.

Puis-je convertir toute une liste de titres à la fois ?

Oui. Collez jusqu'à 500 000 caractères — quelques milliers de gros titres — ou extrayez-les directement d'un fichier avec « Charger à partir d'un fichier », le bouton situé à côté du champ de saisie, qui lit le fichier dans votre navigateur sans l'uploader. Chaque ligne devient son propre slug numéroté, avec le titre dont il provient affiché au-dessus pour pouvoir les faire correspondre. L'option « Découper la saisie par » contrôle comment la liste est divisée, le « Format du résultat » décide si le lot revient sous forme de lignes, séparé par des espaces ou séparé par des virgules, et « Tout copier » ainsi que « Sauver dans un fichier » prennent l'ensemble d'un coup.

Comment le générateur gère-t-il l'alphabet cyrillique et les lettres accentuées ?

Il les translittère en ASCII, sur deux couches. N'importe quelle écriture — cyrillique, grec, arabe, chinois, lettres latines accentuées — est couverte par une bibliothèque de translittération générale, qui est utilisée par l'option « Automatique (toute langue) ». En complément se trouvent des 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 en ont une. Si vous en choisissez une, sa table se charge et chaque lettre devient modifiable.

Quelle norme de translittération est utilisée pour l'ukrainien ?

La Résolution n° 55 du Cabinet des Ministres du 27 janvier 2010 — la norme utilisée dans les passeports ukrainiens. Elle inclut les détails sur lesquels il est facile de se tromper : зг devient zgh pour rester distinct de ж, les lettres є, ї, й, ю et я prennent une forme au début d'un mot et une autre à l'intérieur, et l'apostrophe ainsi que le signe mou sont supprimés sans commencer de nouveau mot, de sorte que Знам'янка devient znamianka plutôt que znamyanka. Une deuxième variante avec ya, yu et yi partout est disponible si vous préférez le style plus simple. Le français n’a pas de table qui lui soit propre : ses caractères accentués sont pris en charge par la couche générale, qui écrit é → e, ç → c et œ → oe.

Puis-je modifier la façon dont une lettre particulière est translittérée ?

Oui. Ouvrez les « Règles de translittération » et chaque lettre de la table correspond à un champ de texte : tapez ce en quoi vous voulez que la lettre se transforme, et le résultat se met à jour à mesure que vous tapez. Effacer un champ supprime totalement la lettre. Vos modifications sont mémorisées dans votre propre navigateur pour la prochaine fois, et « Réinitialiser les règles par défaut » restaure la table standard dès que vous le souhaitez.

Que sont les mots vides et dois-je les supprimer ?

Ce sont les petits mots de liaison — le, la, de, pour, un — qui rallongent un slug sans le rendre plus clair. Leur suppression est activée par défaut et la liste sous « Mots vides » est modifiable ; elle arrive préremplie avec une liste en anglais ainsi qu'une pour la langue de la page sur laquelle vous vous trouvez. Soyez toutefois honnête quant à l'avantage : cela produit une adresse plus courte et plus ordonnée, pas une meilleure position dans les recherches. Si un titre est entièrement composé de mots vides, l'outil vous en informe au lieu de vous retourner un slug vide.

Dois-je utiliser des tirets ou des tirets bas dans un slug ?

Des tirets, à moins que votre environnement technique ne nécessite le contraire. Google considère un tiret comme un séparateur entre les mots et un tiret bas comme un caractère qui les relie, donc my_first_post est lu comme un seul long mot, alors que my-first-post est lu comme trois. C'est pour cette raison que le générateur utilise le tiret par défaut ; le « Séparateur dans le slug » propose le « Tiret bas (_) » pour les systèmes qui l'exigent.

Quelle doit être la longueur d'un slug URL ?

Assez court pour être lu d'un coup d'œil — les premiers mots portent le sens et le reste est généralement la fin d'une phrase. Le nombre à côté de chaque résultat correspond à sa longueur en caractères et devient rouge après 60, ce qui est à peu près le point où les résultats de recherche commencent à le tronquer et où il devient difficile à coller dans un message. La « Longueur max » fixe un plafond strict de 10 à 200 caractères, avec une valeur par défaut de 80.

Les mots sont-ils coupés en deux lorsque le slug est trop long ?

Non. Lorsqu'un slug dépasse la longueur maximale, le moteur revient au dernier mot complet qui rentre et coupe à cet endroit, de sorte qu'un slug tronqué se lit toujours comme une suite de mots plutôt que de se terminer au milieu d'une syllabe. Il en va de même lorsqu'un suffixe numérique est ajouté à un doublon : la base est d'abord raccourcie pour que le slug terminé respecte tout de même votre limite.

Que se passe-t-il si deux titres produisent le même slug ?

L'option « Rendre les slugs uniques » est activée par défaut et s'en occupe : la première occurrence conserve le slug normal, la deuxième reçoit -2, la troisième -3, et ainsi de suite. Elle intercepte le cas fréquent où deux titres différents se réduisent au même résultat — "Top 10 astuces" et "Top-10 astuces" deviennent tous les deux top-10-astuces. La désactiver vous donnera la sortie brute en conservant les doublons. Notez que l'unicité n'est garantie qu'à l'intérieur du lot que vous venez de convertir ; l'outil ne peut pas savoir ce qui existe déjà sur votre site.

Puis-je coller une URL au lieu d'un titre ?

Oui. L'option « Extraire le slug d’une URL collée » est activée par défaut, et lorsqu'une ligne entière est un lien, l'outil extrait la dernière partie du chemin, retire la chaîne de requête ainsi que toute terminaison .html ou .php, et décode le percent-encoding — ainsi une adresse Wikipédia se terminant par %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 ressort sous la forme lviv au lieu d'une suite de codes hexadécimaux. Elle ne se déclenche que sur une ligne entièrement composée d'un lien, de sorte qu'une URL citée dans une phrase est traitée comme du texte ordinaire.

Mon texte est-il envoyé à un serveur ?

Non. La conversion s'exécute localement dans votre navigateur grâce à JavaScript. Rien n'est uploadé, rien n'est enregistré, et une fois la page chargée, elle continue de fonctionner hors connexion. Les titres non publiés, les noms de produits internes et les projets de vos clients restent sur votre machine, ce qui est la raison pratique de préférer un outil local plutôt que côté serveur pour ce type de tâche.

Pourquoi ma phrase simple s'est-elle divisée en deux slugs ?

Parce qu'elle contenait une virgule et que l'option « Découper la saisie par » était sur « Automatique ». Ce mode considère un saut de ligne comme un séparateur certain et une virgule comme un séparateur probable, et ne coupe aux virgules que lorsque les parties d'une même ligne ressemblent toutes à des valeurs autonomes — un montant comme 3,50 CHF ou une phrase avec deux-points est délibérément laissée entière. Lorsqu'un titre se divise alors qu'il ne le devrait pas, passez « Découper la saisie par » sur « Un par ligne » et la saisie ne sera coupée qu'aux endroits où vous avez réellement appuyé sur Entrée.