Convertisseur de casse

Saisissez ou collez votre texte et voyez-le aussitôt dans chaque style de casse : MAJUSCULES, minuscules, casse de titre, casse de phrase, camelCase, PascalCase, snake_case, kebab-case et d’autres encore. Cliquez sur un résultat pour le copier. Les accents sont conservés dans les casses de texte (pas dans les styles de code), et tout fonctionne dans votre navigateur.

MAJUSCULES (UPPER CASE)
minuscules (lower case)
Casse de titre (Title Case)
Casse de phrase (Sentence case)
camelCase
PascalCase
snake_case
kebab-case
SCREAMING_SNAKE_CASE
dot.case
Casse alternée (aLtErNaTe CaSe)
Casse inversée (iNVERSE CASE)

Les styles de casse en un coup d’œil

StyleExempleUsage courant
MAJUSCULESBONJOUR LE MONDEPanneaux, sigles, mise en relief
minusculesbonjour le mondeCorps de texte, adresses e-mail
Casse de titreBonjour Le MondeTitres en anglais, intertitres à l’anglo-saxonne
Casse de phraseBonjour le mondeProse courante, titres en français, libellés d’interface
camelCasebonjourLeMondeVariables JavaScript, clés JSON
PascalCaseBonjourLeMondeClasses et composants (React, C#)
snake_casebonjour_le_mondePython, colonnes SQL, Ruby
kebab-casebonjour-le-mondeClasses CSS, attributs HTML, slugs d’URL
SCREAMING_SNAKEBONJOUR_LE_MONDEConstantes (Python, C, shell)
dot.casebonjour.le.mondeFichiers de configuration, noms de paquets (Java)

Petit guide de la casse

Le mot « casse » vient de l’imprimerie au plomb : les caractères étaient rangés dans une casse, une grande boîte de bois à compartiments, avec les capitales dans le « haut de casse » et les lettres courantes dans le « bas de casse ». L’anglais a gardé la même image avec upper case et lower case. Ce qu’on appelle aujourd’hui un style de casse recouvre en réalité deux choix à la fois : quelles lettres passent en majuscule, et comment on marque la limite entre les mots. La prose sépare les mots par des espaces et laisse la grammaire décider des majuscules. Un identifiant de code ne peut pas contenir d’espace : il invente donc un substitut — une bosse (camelCase), un tiret bas (snake_case), un trait d’union (kebab-case) ou un point (dot.case) — et intègre la règle des majuscules au style lui-même. Presque chaque casse qui porte un nom n’est qu’une réponse particulière à ces deux questions.

Les styles du quotidien sont ceux que vous croisez déjà à l’écrit. Les MAJUSCULES mettent chaque lettre en capitale et se réservent aux sigles, aux titres courts et à la mise en relief ; un long passage en capitales se lit lentement, car la hauteur uniforme des lettres efface la silhouette des mots sur laquelle s’appuie la lecture. Les minuscules sont l’extrême opposé. La casse de phrase ne met une majuscule qu’à la première lettre du premier mot (plus les noms propres) ; c’est le registre naturel du corps de texte, des libellés d’interface et — contrairement à l’anglais — des titres d’œuvres en français. La casse de titre met une capitale à chaque mot important ; elle sert aux titres de livres, d’articles et de chansons en anglais et, comme le montrent les sections suivantes, elle est bien moins figée qu’il n’y paraît.

Les styles de programmation se distinguent par leur séparateur. Le camelCase colle les mots sans séparateur et laisse le premier en minuscules : bonjourLeMonde, getUserName. Le PascalCase (formellement UpperCamelCase) fait de même mais met aussi une capitale à la toute première lettre : BonjourLeMonde, HttpRequest. Le snake_case relie des mots en minuscules par des tirets bas ; quand toutes les lettres sont en plus en capitales, il devient le SCREAMING_SNAKE_CASE (aussi appelé CONSTANT_CASE ou UPPER_SNAKE_CASE). Le kebab-case remplace le tiret bas par un trait d’union et collectionne un nombre étonnant d’alias : le dash-case, le spinal-case, le lisp-case et le caterpillar-case désignent tous la même chose. Le Train-Case est son cousin à initiales capitales (Bonjour-Le-Monde), et le dot.case sépare simplement par des points. Restent les styles fantaisie : la casse alternée (aLtErNaTe CaSe, dite aussi « studly caps » ou « casse Bob l’éponge », pour se moquer) alterne minuscule et majuscule à chaque caractère — espaces compris, ce qui explique le bOnJoUr lE MoNdE ci-dessus —, et la casse inversée (iNVERSE case) retourne la casse actuelle de chaque lettre.

CasseAutres nomsExempleOù on la trouve
camelCaselower camel case, casse dromadaireuserNameVariables JS/Java, clés JSON
PascalCaseUpperCamelCaseUserNameClasses, types, composants React
snake_casepothole caseuser_namePython, Ruby, Rust, colonnes SQL
SCREAMING_SNAKECONSTANT_CASE, UPPER_SNAKEMAX_SIZEConstantes, variables d’environnement
kebab-casecasse dash, spinal, lisp ou caterpillaruser-nameClasses CSS, slugs d’URL, attributs HTML
Train-CaseHTTP-Header-CaseUser-NameEn-têtes HTTP, certains titres
dot.case—user.nameClés de configuration, espaces de noms

Les majuscules en français : ce que dit l’usage

Avant de cliquer sur un bouton, mieux vaut connaître les règles propres au français, car elles ne coïncident pas avec celles de l’anglais et aucune fonction automatique ne les connaît. La première, et la plus négligée : les majuscules s’accentuent. L’Académie française le rappelle sans ambiguïté — en français, l’accent a pleine valeur orthographique, et son absence sur une capitale gêne la lecture et peut créer des contresens. On écrit donc ÉCOLE, À BIENTÔT, ÇA et Étienne. L’idée qu’on pourrait s’en passer vient des machines à écrire et des anciens claviers, qui rendaient les capitales accentuées difficiles à taper ; ce n’a jamais été une règle. Ce convertisseur utilise le passage en majuscules natif du navigateur, qui garde tout en place : NOËL À L’ÉCOLE, FRANÇAIS, ŒUVRE, et même le tréma rare de L’HAŸ-LES-ROSES.

Le français met aussi en minuscule bien des mots que l’anglais capitalise, et c’est souvent là qu’un texte traduit trahit son origine. S’écrivent en minuscule les jours (lundi), les mois (janvier), les langues (le français) et les adjectifs de nationalité (un vin français) ; seul le nom d’habitant prend la majuscule (les Français). Les sigles s’écrivent d’ordinaire en capitales sans points (ONU, SNCF), mais certains acronymes qui se prononcent comme un mot ne gardent que l’initiale (Unesco). Aucun bouton de cette page ne peut faire ces distinctions : relisez les sigles après conversion, car la casse de titre transforme ONU en Onu.

Dernier piège, propre à la ponctuation française : la casse de phrase passe tout le texte en minuscules puis met en capitale le tout premier caractère. Si votre texte commence par un guillemet, ce premier caractère est le guillemet ouvrant et non une lettre : « BONJOUR », DIT-IL devient « bonjour », dit-il, et la majuscule de « bonjour » est à remettre à la main.

Où chaque style est utilisé

Les langages de programmation ne s’accordent pas sur une convention unique, et choisir la « bonne » casse revient surtout à suivre la communauté dans laquelle vit votre code — les linters et les relecteurs se chargent de vous le rappeler. Le guide de style officiel de Python, PEP 8, prescrit le snake_case pour les fonctions et les variables, le PascalCase pour les noms de classes et le SCREAMING_SNAKE_CASE pour les constantes de module. Ruby et Rust suivent le même partage : snake pour les valeurs, Pascal pour les types.

Les mondes de la famille C et de JavaScript s’appuient sur le camel case : Java et JavaScript utilisent le camelCase pour les variables et les méthodes et le PascalCase pour les classes ; C# met en plus une capitale aux noms de méthodes. Go a sa particularité : il utilise camel et Pascal, mais donne un sens à la majuscule, car un identifiant qui commence par une capitale est exporté (public) hors de son paquet, tandis qu’un identifiant en minuscule reste privé.

Hors des identifiants, les conventions sont remarquablement stables. Les constantes et les variables d’environnement sont presque toujours en SCREAMING_SNAKE_CASE (DATABASE_URL, MAX_RETRIES). Les noms de classes CSS, les attributs HTML et les slugs d’URL utilisent le kebab-case, car le trait d’union est sûr partout dans ces contextes et se lit comme une séparation de mots. Les tables et colonnes SQL sont par habitude en snake_case. Et pour le texte lu par un humain — titres, menus, boutons — le choix est simple en français : la casse de phrase, qui est aussi celle que recommandent aujourd’hui la plupart des guides de style éditoriaux et produit pour sa lisibilité.

La casse de titre : une règle anglaise, et même pas unique

En français, un titre d’œuvre ne prend la majuscule qu’au premier mot et aux noms propres qu’il contient : À la recherche du temps perdu, Cent ans de solitude. Les codes typographiques, comme le lexique de l’Imprimerie nationale, ajoutent une nuance : quand le titre commence par un article défini, le premier nom prend lui aussi la capitale, ainsi que l’adjectif qui le précède (Les Misérables, La Condition humaine, Le Petit Prince). Mettre une capitale à chaque mot — À La Recherche Du Temps Perdu, c’est exactement ce que produit le bouton « Casse de titre » — est un calque de l’anglais qui se remarque dans un texte soigné. Pour un titre français, le bon bouton est « Casse de phrase », puis ajoutez à la main les capitales des noms propres et, le cas échéant, celle qui suit l’article ; le bouton « Casse de titre » sert aux titres, intertitres et chaînes d’interface en anglais.

Et même en anglais, il n’existe pas d’autorité unique : les grands guides de style divergent réellement. Ils s’accordent sur l’essentiel — tous mettent une capitale au premier mot et aux mots pleins (noms, pronoms, verbes, adjectifs, adverbes), et laissent en minuscule les articles a, an et the au milieu du titre. Ils divergent sur les petits mots de liaison — prépositions et conjonctions —, et c’est précisément là qu’un convertisseur naïf se trompe.

Le clivage le plus net porte sur les prépositions. AP (Associated Press) et APA appliquent une règle de longueur : minuscule pour les prépositions et conjonctions de trois lettres ou moins, mais capitale pour tout mot de quatre lettres ou plus — AP écrit donc Gone With the Wind, avec une capitale au With de quatre lettres. Chicago (CMOS) et MLA prennent le parti inverse et mettent en minuscule toutes les prépositions, quelle que soit leur longueur, d’où Gone with the Wind. Les guides divergent aussi sur le dernier mot : AP, Chicago et MLA le capitalisent toujours, si bien qu’une préposition finale monte en capitale (What to Look For).

APA n’a pas de règle pour le dernier mot : avec sa règle de longueur, le même titre se termine par What to Look for. Les conjonctions de coordination (and, but, or, nor, for, so, yet) restent en minuscule chez la plupart des guides, même si Chicago capitalise so et yet quand ils jouent le rôle d’adverbes. Le bouton de cette page applique une convention raisonnable : il garde en minuscule les mots of, in, on, at, to, for, from, with, by, up, as, a, an, the, and, but, or, nor, yet et so, sauf s’ils sont le premier ou le dernier mot. Si vous écrivez pour un guide précis, relisez toujours les petits mots à la main.

camelCase, snake_case et compagnie : une brève histoire

Les noms sont bien plus récents que les pratiques. Assembler des mots avec des capitales internes — ce que les typographes et l’Oxford English Dictionary appellent les capitales médianes — est une pratique vieille de plusieurs siècles, présente dans la nomenclature chimique et les abréviations des copistes bien avant les ordinateurs. Elle est devenue un style d’identifiant standard dans plusieurs langages de programmation dans les années 1970, mais le nom accrocheur est venu plus tard : le plus ancien terme attesté pour ce style, « InterCaps », est apparu sur Usenet en avril 1990, et « CamelCase » lui-même a été forgé par Newton Love en 1995, qui expliquait que l’aspect « bossu » du style lui avait d’abord fait dire HumpyCase. La bulle Internet a ensuite répandu les capitales médianes dans les noms de marques — iMac, PowerPoint, YouTube.

La convention du tiret bas est tout aussi ancienne, et son nom tout aussi récent. Les identifiants à tiret bas remontent à la fin des années 1960 et ont été consacrés par le C — ils remplissent The C Programming Language (1978) —, mais le terme snake_case ne s’est popularisé que vers 2004 dans la communauté Ruby, à partir d’un message Usenet de Gavin Kistner. Le kebab-case doit son surnom aux traits d’union qui « embrochent » les mots comme la viande sur une brochette ; l’habitude du trait d’union comme séparateur vient de Lisp, dont les identifiants l’ont toujours accepté, d’où l’autre nom de lisp-case.

Un proche parent est la notation hongroise, imaginée par Charles Simonyi chez Microsoft (il avait auparavant travaillé au Xerox PARC), qui préfixe le nom d’une variable par une courte étiquette en minuscules indiquant son type ou son rôle (strName, iCount). On la dit « hongroise » à la fois en clin d’œil aux origines de Simonyi et parce que, comme les noms hongrois, elle place le « type » avant le « prénom ».

Le piège Unicode : pourquoi passer en majuscules n’est pas si simple

Pour l’anglais pur, changer de casse est trivial : on passe d’un alphabet de 26 lettres à son double parallèle. Pour le reste du monde, c’est réellement difficile, car la correspondance entre majuscules et minuscules dépend de la langue et n’est pas toujours un pour un. Le français s’en tire bien — é/É, ç/Ç et œ/Œ sont des correspondances propres d’un caractère, dans les deux sens —, mais quelques pièges bien documentés attrapent les convertisseurs naïfs :

  • Le ß allemand change de longueur. Le s dur n’a longtemps eu aucune capitale propre, si bien que la majuscule Unicode par défaut de ß est la suite de deux lettres SS : straße devient STRASSE et le texte s’allonge. Un eszett capital ẞ (U+1E9E) a été ajouté à Unicode en 2008 et admis dans l’orthographe allemande officielle en 2017, mais comme il reste facultatif, la correspondance standard demeure SS.
  • Le i turc avec et sans point. Le turc a deux i distincts : le i à point i/İ et le i sans point ı/I. Mettre en majuscule un i turc doit donner le İ à point, et mettre en minuscule I doit donner le ı sans point — exactement l’inverse de l’anglais et du français. Appliquer à un texte turc une conversion réglée pour l’anglais le corrompt, une source célèbre de bugs bien réels.
  • Le sigma final grec. Le sigma minuscule s’écrit ς en fin de mot mais σ ailleurs : pour bien mettre un mot grec en minuscules, il faut donc savoir où il se termine — un contexte qu’une simple table de caractères ne peut pas fournir.
  • Ligatures et digrammes. La ligature fl devient deux lettres en capitales, FL. Les lettres digrammes ont trois formes, et non deux : lj (minuscule), LJ (majuscule) et une forme de titre distincte, Lj, utilisée quand seule la première lettre du mot est en capitale. Notez au passage que œ n’en fait pas partie : il passe simplement à Œ et reste un seul caractère.

La leçon pratique : un changement de casse n’est pas toujours réversible — passer ß en SS puis revenir aux minuscules donne ss, pas l’original —, et un convertisseur pensé pour l’anglais (comme celui-ci) utilise la correspondance par défaut de la plateforme, indépendante de la langue. C’est correct pour l’anglais, le français, les autres langues d’Europe de l’Ouest et la plupart des écritures latines accentuées, mais pour du turc, de l’azéri ou du grec soigneusement composé, il vous faut un outil qui tienne compte de la langue.

Slugs, identifiants et SEO

Quand vous transformez un titre en slug d’URL, la cible habituelle est le kebab-case en minuscules, et le choix du séparateur n’est pas cosmétique. Google recommande depuis longtemps d’utiliser des traits d’union plutôt que des tirets bas pour séparer les mots d’une URL : chaussures-de-course-rouges se lit comme une suite de mots, alors que chaussures_de_course_rouges risque d’être lu comme un seul bloc, ce qui affaiblit la correspondance.

Les minuscules comptent aussi, car sur de nombreux serveurs le chemin d’une URL est sensible à la casse : mélanger les casses expose à des URL en double ou à des liens cassés. Un bon slug passe donc tout en minuscules, remplace les espaces et la ponctuation par un seul trait d’union, ramène les accents à de l’ASCII simple et retire les petits mots de remplissage.

En français, ce passage par l’ASCII demande un geste de votre part. Les boutons kebab-case, snake_case, camelCase et dot.case de cette page sont pensés pour des identifiants : ils suppriment tout caractère hors A-Z et chiffres, sans translittérer. « élève modèle » donne ainsi lve-modle et non eleve-modele, et l’apostrophe n’étant pas un séparateur, « Noël à l’école » donne nol-lcole. Pour un slug en français, retirez vous-même les accents et remplacez les apostrophes par des espaces avant de convertir, puis relisez le résultat. Pour les identifiants de code, le conseil équivalent est simplement de suivre la convention du langage et du projet, car c’est la cohérence qui rend les noms lisibles et apaise les linters. Les styles de casse sont interchangeables quant au sens — les mêmes mots, ponctués autrement —, et c’est exactement pour cela qu’un convertisseur est utile : collez un nom de colonne en snake_case et récupérez directement la propriété camelCase qu’attend votre front-end, ou transformez un titre de page en slug kebab-case.

Erreurs courantes de changement de casse

  • Appliquer la casse de titre à un texte français. C’est l’erreur numéro un : on obtient Cent Ans De Solitude là où il faut Cent ans de solitude. Pour le français, utilisez la casse de phrase.
  • Abîmer les sigles et les noms propres. Capitaliser à l’aveugle met en minuscules la fin de chaque mot et transforme NASA en Nasa, iPhone en Iphone et McDonald en Mcdonald. Toute capitale voulue demande une relecture humaine.
  • Supprimer les accents des majuscules. ÉCOLE est la bonne forme ; si votre texte perd ses accents en passant en capitales, la faute vient de la police ou de l’outil, pas de l’orthographe.
  • Mélanger les guides de style. Un titre anglais composé selon la règle de longueur d’AP détonne dans un document au style Chicago, et inversement ; choisissez le guide de votre publication avant une conversion en série.
  • Utiliser une casse de programmeur dans la prose (ou l’inverse). Le snake_case a sa place dans le code, pas dans une phrase ; la casse de titre a sa place dans un titre anglais, pas dans un nom de variable.
  • Des tirets bas dans les URL. Ils font propre mais desservent le SEO : préférez les traits d’union.
  • Passer naïvement en majuscules un texte non anglais, ce qui corrompt sans bruit le turc, l’allemand et le grec (voir le piège Unicode ci-dessus).
  • Perdre des données à l’aller-retour. Mettre un texte en minuscules pour le « normaliser » puis lui redonner ses capitales restaure rarement l’original — une fois la distinction perdue, elle est perdue —, alors gardez une copie intacte de tout ce qui dépend de la casse.

Questions fréquentes

Qu’est-ce que la casse de titre (Title Case) ?
La casse de titre met une majuscule à la première lettre de chaque mot important. C’est une convention anglaise : ce bouton met une capitale à tous les mots, sauf à une liste de petits mots-outils anglais (articles, conjonctions et prépositions comme the, and, of ou with) placés au milieu du titre. Il ne connaît aucun mot-outil français : « le », « de » ou « du » prennent donc une majuscule. Pour un titre en français, utilisez plutôt la casse de phrase.
Quelle différence entre camelCase et PascalCase ?
Le camelCase commence par une minuscule (bonjourLeMonde), alors que le PascalCase, aussi appelé UpperCamelCase, commence par une majuscule (BonjourLeMonde). Le camelCase est courant pour les noms de variables en JavaScript ; le PascalCase est la norme pour les noms de classes et de composants.
Quand utiliser snake_case plutôt que kebab-case ?
Le snake_case (tirets bas) est la norme pour les variables et les constantes en Python, ainsi que pour les noms de colonnes SQL. Le kebab-case (traits d’union) est la norme pour les classes CSS, les attributs HTML et les slugs d’URL. En JavaScript, on préfère généralement le camelCase pour les variables.
Les accents et les caractères Unicode sont-ils pris en charge ?
Oui pour les majuscules et les minuscules : la conversion utilise les fonctions toUpperCase() et toLowerCase() de JavaScript, qui gèrent les lettres accentuées (é → É, ç → Ç, œ → Œ), le ß allemand (→ SS) et la plupart des écritures Unicode. En revanche, camelCase, PascalCase, snake_case, kebab-case et dot.case suppriment tout ce qui n’est pas une lettre sans accent ou un chiffre : « numéro de client » devient numroDeClient. Retirez les accents vous-même avant la conversion si vous en avez besoin.
Mon texte est-il envoyé sur un serveur ?
Non. Toute la conversion se fait dans votre navigateur. Votre texte ne quitte jamais votre appareil.

Outils associés

Sources and standards

This tool follows the published specification for what it does, rather than a hand-written approximation. The references below are the primary documents it implements — each one is the authority for the rules applied on this page.

Découvrir d’autres outils

Voir les 91 outils →