Convertisseur de casse : UPPER, lower, Title, snake_case en ligne
Colle ton texte, clique sur une casse, copie le résultat. Neuf styles, support Unicode complet, rien ne quitte ton navigateur.
Qu'est-ce que le convertisseur de casse ?
Un outil gratuit, dans le navigateur, qui convertit un bloc de texte entre neuf styles : UPPERCASE, lowercase, Title Case, Sentence case, snake_case, camelCase, PascalCase, kebab-case et CONSTANT_CASE. Tu colles une fois, tu cliques sur la casse voulue, tu copies le résultat. Rien ne quitte ta machine.
Vois-le comme les fonctions UPPER, LOWER et PROPER d'Excel, plus le menu "Modifier la casse" de Microsoft Word, plus les styles côté programmation pour lesquels tu chercherais lodash ou le paquet npm change-case. Une seule interface, sans installation.
En interne, les conversions appellent String.prototype.toLowerCase, toUpperCase et toLocaleLowerCase / toLocaleUpperCase pour un repli sensible à la locale (Turkish I avec point, ß allemand, sigma final grec). Les styles d'identifiants découpent sur les frontières de mots (_, -, espaces et transitions minuscule vers majuscule) avant de réappliquer la casse à chaque mot.
Comment les conversions fonctionnent vraiment
Deux des neuf styles sont de simples transformations de lettres. UPPERCASE appelle String.prototype.toLocaleUpperCase avec la locale de ton navigateur, lowercase appelle toLocaleLowerCase. Les variantes locale-aware comptent : la référence toLocaleUpperCase de MDN documente le cas turc : en tr-TR, le i minuscule devient İ (avec point) et le I majuscule devient ı (sans point). Les versions non-locale se trompent sur le texte turc.
Title Case et Sentence case demandent plus de travail. Sentence case met tout en minuscule puis met en majuscule la première lettre de chaque phrase (découpage sur ., !, ?). Title Case capitalise la première lettre de chaque mot sauf les articles courts, prépositions et conjonctions comme a, an, the, and, or, of, in. Le premier et le dernier mot du titre sont toujours capitalisés. Les styles AP et Chicago divergent sur les prépositions à passer ; nous prenons un défaut raisonnable et documentons la liste dans la FAQ.
Les cinq styles d'identifiants (snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE) partagent un même normaliseur. Le texte est découpé en mots sur : underscores, tirets, espaces, points ou une transition minuscule vers majuscule (donc userProfileName donne user, profile, name). Chaque mot est mis en minuscule puis recombiné avec le séparateur et la règle de casse cibles. C'est l'approche du paquet change-case sur npm.
Convertir la casse en trois étapes
Un volet, un clic, un résultat. Pas d'inscription et pas d'envoi de fichier.
- 1
Colle ton texte
Dépose ton texte dans le volet d'entrée. Ça peut être une phrase, une colonne d'en-têtes CSV, un identifiant ou un paragraphe multi-lignes. Le bouton Sample remplit le volet avec un petit exemple si tu veux d'abord voir les conversions côte à côte.
- 2
Clique sur un bouton de casse
Choisis l'un des neuf styles : UPPERCASE, lowercase, Title Case, Sentence case, snake_case, camelCase, PascalCase, kebab-case ou CONSTANT_CASE. Le résultat apparaît immédiatement dans le volet de sortie. L'entrée originale est conservée pour que tu puisses essayer un autre style sans recoller.
- 3
Copie le résultat
Clique sur Copy pour mettre le texte converti dans ton presse-papiers. Ou clique sur Download pour le sauvegarder en fichier .txt. Les deux boutons s'exécutent localement ; rien n'est envoyé.
Quand le convertisseur de casse est le bon outil
En-têtes CSV prêts pour un chargement SQL
Tu as exporté un tableur avec des en-têtes comme First Name, Date Of Birth, Customer ID, et Postgres les veut sous la forme first_name, date_of_birth, customer_id. Colle la ligne d'en-têtes, clique snake_case, et tu obtiens une version propre pour identifiants qui s'insère directement dans un CREATE TABLE sans guillemets.
Titres en slugs d'URL
Un titre de blog comme "Why We Switched from MongoDB to Postgres" devient why-we-switched-from-mongodb-to-postgres en kebab-case, la convention d'URL recommandée par la documentation sur la structure des URL de Google. La ponctuation disparaît, les espaces deviennent des tirets, la casse est normalisée. Colle le titre, clique kebab-case, colle dans ton CMS.
Renommer des identifiants Python en JavaScript
Tu déplaces des noms de champs de réponse depuis un backend Python qui renvoie user_profile_name et created_at vers un frontend TypeScript qui préfère userProfileName et createdAt. Colle les identifiants snake_case, clique camelCase, et le découpeur gère les frontières des underscores correctement. Le trajet inverse fonctionne pareil.
Normaliser des identifiants SQL d'un schéma legacy
Un ancien schéma Oracle a des identifiants en CONSTANT_CASE : USER_PROFILE_NAME, ORDER_LINE_ITEM_ID. La convention Postgres est minuscules avec underscores. Colle la liste de colonnes, clique snake_case, et tu obtiens une version compatible Postgres. Le découpeur respecte les underscores existants pour que les identifiants multi-mots restent correctement segmentés.
Mettre une liste de titres de livres ou chansons en Title Case
Tu as récupéré une liste de titres avec une casse mélangée : "the great gatsby", "TO KILL A MOCKINGBIRD", "Of mice And men". Colle-les, clique Title Case, et tu obtiens des titres correctement capitalisés avec articles et prépositions courtes en minuscule ("To Kill a Mockingbird"). Plus rapide que ligne par ligne dans le menu "Modifier la casse" de Word.
Reformater une réponse mail toute en MAJUSCULES CRIANTES
Quelqu'un a répondu à ton fil de support tout en majuscules. Colle le message, clique Sentence case, et il devient lisible : première lettre de chaque phrase capitalisée, le reste en minuscule. Puis clique Copy et réponds avec quelque chose qu'un humain peut lire sans grimacer.
Référence rapide des styles de casse
Une antisèche brève des neuf styles exposés par cet outil, plus les pièges Unicode utiles à connaître. Les exemples utilisent l'entrée <code>userProfileName</code> ou "the quick brown fox" selon le cas.
| Topic | What this tool does |
|---|
| UPPERCASE | Chaque lettre en majuscule. USERPROFILENAME, THE QUICK BROWN FOX. S'appuie sur String.prototype.toLocaleUpperCase. Courant pour les mots-clés SQL, en CSS text-transform: uppercase et dans les valeurs par défaut de variables d'environnement YAML. |
|---|
| lowercase | Chaque lettre en minuscule. userprofilename, the quick brown fox. S'appuie sur String.prototype.toLocaleLowerCase. Utile pour adresses e-mail, noms d'hôte et clés de recherche insensibles à la casse. |
|---|
| Title Case | Première lettre de chaque mot significatif en majuscule ; articles courts et prépositions restent en minuscule. "The Quick Brown Fox Jumps Over the Lazy Dog". Le premier et le dernier mot sont toujours capitalisés. AP et Chicago divergent sur les prépositions de cinq lettres ou plus. |
|---|
| Sentence case | Première lettre de chaque phrase en majuscule ; le reste en minuscule. "The quick brown fox jumps over the lazy dog." Découpe sur ., !, ?. Pratique pour nettoyer du texte tout en MAJUSCULES ou normaliser une casse mélangée. |
|---|
| snake_case | Mots joints par underscores, tout en minuscule. user_profile_name. Convention Python pour fonctions et variables (PEP 8). Convention Postgres pour les identifiants. Courant en Ruby, Rust et identifiants SQL. |
|---|
| camelCase | Mots joints sans séparateur ; premier mot en minuscule, mots suivants capitalisés. userProfileName. Convention JavaScript et Java pour variables et méthodes. Utilisé par les clés d'objets JSON dans la plupart des API JS-natives. |
|---|
| PascalCase | Mots joints sans séparateur ; chaque mot capitalisé, premier inclus. UserProfileName. Convention pour les noms de classes en Java, C#, Python, Rust et TypeScript. Parfois appelé UpperCamelCase. |
|---|
| kebab-case | Mots joints par tirets, tout en minuscule. user-profile-name. Convention pour sélecteurs et propriétés CSS. Convention de slugs d'URL (préférée par Google pour le SEO). Convention d'attributs HTML selon la spec, même si les propriétés du DOM les exposent en camelCase. |
|---|
| CONSTANT_CASE | Mots joints par underscores, tout en majuscule. USER_PROFILE_NAME. Convention pour les constantes de compilation en C, Java et JavaScript. Courante dans les variables d'environnement (DATABASE_URL, NODE_ENV) et les mots-clés SQL. |
|---|
| Pièges Unicode | Turkish I avec/sans point (i ↔ İ, I ↔ ı), le ß allemand passe en SS en majuscule, le sigma final grec ς n'apparaît qu'en fin de mot. Utilise toujours des méthodes locale-aware ici. Voir Casse (typographie) sur Wikipédia pour une vue d'ensemble et Snake case / Camel case pour l'historique des identifiants. |
|---|
Convertisseur de casse : questions fréquentes
Prend-il en charge la casse locale-aware pour le turc, l'allemand et le grec ?
Oui. UPPERCASE et lowercase utilisent String.prototype.toLocaleUpperCase et toLocaleLowerCase avec la locale de ton navigateur. En turc, i devient İ (avec point) et I devient ı (sans point), conformément aux règles Unicode du Unicode Technical Standard #21. Le ß allemand reste tel quel en minuscule et passe en SS en majuscule. Le sigma final grec ς est aussi géré correctement.
Comment Title Case décide-t-il quels mots sauter ?
Title Case garde en minuscule les articles courts, prépositions et conjonctions : a, an, the, and, or, but, nor, for, of, in, on, at, to, by, as, vs. Le premier et le dernier mot sont toujours capitalisés. AP et Chicago divergent sur les cas limites (Chicago capitalise les prépositions de cinq lettres ou plus ; AP non). Nous utilisons la liste courte façon AP parce qu'elle donne les résultats les plus cohérents sur des entrées variées.
Quelle est la différence entre camelCase et PascalCase ?
Les deux assemblent les mots sans séparateurs, mais diffèrent sur la première lettre. camelCase garde le premier mot en minuscule : userProfileName. PascalCase capitalise chaque mot, le premier inclus : UserProfileName. Le partage dépend du langage : Java utilise camelCase pour les méthodes et variables, PascalCase pour les classes ; le PEP 8 de Python utilise snake_case pour les fonctions et PascalCase pour les classes ; le guide de style JavaScript de Google utilise camelCase pour tout sauf les classes.
Puis-je convertir des identifiants entre conventions de nommage ?
Oui. Les cinq styles d'identifiants (snake_case, camelCase, PascalCase, kebab-case, CONSTANT_CASE) partagent le même découpeur, qui rompt sur underscores, tirets, espaces, points et transitions minuscule vers majuscule. Donc userProfileName, user_profile_name, user-profile-name et USER_PROFILE_NAME donnent les trois mêmes mots et basculent proprement entre les cinq styles. C'est le comportement du paquet change-case sur npm et de la famille _.kebabCase de lodash.
Gère-t-il l'Unicode et le texte non-ASCII ?
Oui. Les conversions utilisent les méthodes de chaîne locale-aware, donc le latin accentué (é, ñ, ü), le grec, le cyrillique, le Turkish I avec/sans point, le ß allemand et la plupart des autres écritures se replient correctement. Note la différence entre case folding (comparaison d'égalité, p. ex. String.prototype.normalize + minuscule) et case mapping (affichage) : nous faisons du case mapping. Pour comparer entre locales, localeCompare avec { sensitivity: 'base' } est souvent plus adapté.
Y a-t-il une limite de taille en entrée ?
Quelques Mo passent sans souci, en bien moins d'une seconde. Au-delà de 10 Mo le navigateur commence à le sentir, parce que re-rendre le volet de sortie sur de longues chaînes coûte cher, pas parce que la conversion elle-même est lente. Pour des fichiers plus gros, passe en CLI : tr '[:upper:]' '[:lower:]' en bash, str.upper() / str.lower() / str.title() en Python, ou la propriété text-transform de CSS si c'est seulement pour l'affichage.
Confidentialité et fonctionnement
Ton texte ne quitte jamais ton navigateur. Chaque conversion s'exécute localement sur ta machine via les méthodes String standard du prototype String de JavaScript. Pas d'analytique sur ton entrée, pas de logs, pas d'aller-retour serveur. Les règles Unicode que nous suivons viennent de l'Unicode Technical Standard #21 (Case Mappings), le même standard que celui implémenté par les moteurs de navigateur eux-mêmes.