🛠️ToolsShed

Slug Generator

Convertissez n'importe quel texte en un slug propre et compatible avec les URL.

Le générateur de slug convertit un titre ou une phrase en un slug convivial pour les URL — une chaîne en minuscules, séparée par des tirets, sans caractères spéciaux ni espaces. Par exemple, "Mon premier article de blog !" devient "mon-premier-article-de-blog".

Entrez votre titre ou phrase et l'outil génère instantanément un slug propre. Le processus de conversion supprime les accents et les signes diacritiques, convertit tous les caractères en minuscules, remplace les espaces et la ponctuation par des tirets, supprime les caractères restants qui ne sont pas alphanumériques ou des tirets, et réduit plusieurs tirets consécutifs en un seul.

Les slugs bien conçus améliorent le SEO en rendant votre URL lisible et pertinente par rapport au sujet de la page. Les moteurs de recherche traitent les mots dans l'URL comme un signal de pertinence. Gardez les slugs concis — omettez les articles et les prépositions si possible.

Questions Fréquentes

Implémentation du Code

import re
import unicodedata

def slugify(text: str, separator: str = "-") -> str:
    """Convert text to a URL-friendly slug."""
    # Normalize unicode: decompose accented chars (é → e + combining accent)
    text = unicodedata.normalize("NFKD", text)
    # Encode to ASCII bytes, ignore errors (drops non-ASCII)
    text = text.encode("ascii", "ignore").decode("ascii")
    # Lowercase
    text = text.lower()
    # Replace any non-alphanumeric characters with the separator
    text = re.sub(r"[^a-z0-9]+", separator, text)
    # Strip leading/trailing separators
    text = text.strip(separator)
    return text

# Examples
print(slugify("Hello, World!"))              # hello-world
print(slugify("  Multiple   Spaces  "))      # multiple-spaces
print(slugify("Héllo Wörld"))                # hello-world
print(slugify("C++ is awesome!"))            # c-is-awesome
print(slugify("Blog Post #42"))              # blog-post-42
print(slugify("Hello World", "_"))           # hello_world (underscore)

# For Python web frameworks like Django, use built-in slugify:
# from django.utils.text import slugify
# slugify("Hello, World!")  # "hello-world"

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.