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.
Les styles de casse en un coup d’œil
| Style | Exemple | Usage courant |
|---|---|---|
| MAJUSCULES | BONJOUR LE MONDE | Panneaux, sigles, mise en relief |
| minuscules | bonjour le monde | Corps de texte, adresses e-mail |
| Casse de titre | Bonjour Le Monde | Titres en anglais, intertitres à l’anglo-saxonne |
| Casse de phrase | Bonjour le monde | Prose courante, titres en français, libellés d’interface |
| camelCase | bonjourLeMonde | Variables JavaScript, clés JSON |
| PascalCase | BonjourLeMonde | Classes et composants (React, C#) |
| snake_case | bonjour_le_monde | Python, colonnes SQL, Ruby |
| kebab-case | bonjour-le-monde | Classes CSS, attributs HTML, slugs d’URL |
| SCREAMING_SNAKE | BONJOUR_LE_MONDE | Constantes (Python, C, shell) |
| dot.case | bonjour.le.monde | Fichiers 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.
| Casse | Autres noms | Exemple | Où on la trouve |
|---|---|---|---|
| camelCase | lower camel case, casse dromadaire | userName | Variables JS/Java, clés JSON |
| PascalCase | UpperCamelCase | UserName | Classes, types, composants React |
| snake_case | pothole case | user_name | Python, Ruby, Rust, colonnes SQL |
| SCREAMING_SNAKE | CONSTANT_CASE, UPPER_SNAKE | MAX_SIZE | Constantes, variables d’environnement |
| kebab-case | casse dash, spinal, lisp ou caterpillar | user-name | Classes CSS, slugs d’URL, attributs HTML |
| Train-Case | HTTP-Header-Case | User-Name | En-têtes HTTP, certains titres |
| dot.case | — | user.name | Clé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 lettresSS:straßedevientSTRASSEet 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 demeureSS. - 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 uniturc doit donner leİà point, et mettre en minusculeIdoit 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
fldevient 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
NASAenNasa,iPhoneenIphoneetMcDonaldenMcdonald. Toute capitale voulue demande une relecture humaine. - Supprimer les accents des majuscules.
ÉCOLEest 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_casea 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.