Convertisseur de casse
Hello World devient HELLO WORLD en majuscules, et le même texte peut passer à l'un des neuf styles, de la casse de titre ou de phrase au camel, snake ou kebab. Même HTMLParser2 se découpe proprement en html, parser et 2. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Hello World
- Style
- MAJUSCULES
- Résultat
- HELLO WORLD
camel snake title gratuit dans le navigateur
Les neuf modes de casse
L'outil prend deux champs requis, text et mode, où mode est l'une de neuf valeurs. upper et lower correspondent directement à toUpperCase et toLowerCase de JavaScript. title découpe la chaîne sur les suites d'espaces et met en majuscule le premier caractère de chaque mot tout en mettant le reste en minuscules, en préservant l'espacement exact entre les mots. sentence met d'abord tout en minuscules, puis met en majuscule la première lettre Unicode et la première lettre après chaque point, point d'interrogation ou point d'exclamation, ce qui le rend robuste sur des paragraphes de plusieurs phrases.
Les cinq modes restants sont des styles d'identifiants de programmeur : camel met le premier segment en minuscules et applique la PascalCase au reste, pascal met chaque segment en capitale, snake et kebab joignent des segments en minuscules par un tiret bas ou un trait d'union, et constant joint des segments en majuscules par un tiret bas. Le mode demandé revient toujours tel quel dans la réponse.
Comment le tokeniseur découpe les identifiants
Pour les cinq modes d'identifiants, le texte est d'abord découpé en segments. Si la chaîne contient déjà des espaces, des tirets bas ou des traits d'union, elle est découpée sur les suites de ces caractères ; chaque segment se voit ensuite retirer tout caractère non alphanumérique et les segments vides sont écartés.
S'il n'y a aucun séparateur, le tokeniseur détecte plutôt les frontières à l'intérieur du camelCase et autour des chiffres : il insère des coupures entre une minuscule-ou-un-chiffre et une lettre majuscule, entre une suite d'acronyme et un mot capitalisé qui suit, et de part et d'autre d'une suite de chiffres.
Cas d’usage
Mise en forme de titres
Appliquez la casse de titre ou de phrase aux titres d'un CMS pour que les rédacteurs obtiennent une capitalisation cohérente sans tout retaper.
Génération de slugs
Transformez un nom de produit en kebab-case pour les slugs d'URL et les noms de fichiers, la ponctuation étant retirée automatiquement.
Questions fréquentes
Quels styles de casse sont pris en charge ?
Neuf : upper, lower, title, sentence, camel, pascal, snake, kebab et constant.
Comment découpe-t-il une entrée en camelCase ?
Lorsqu'il n'y a aucun séparateur, il coupe sur les changements de casse et les frontières de chiffres, de sorte que myVar2 se découpe en my, var et 2.
Que contient la réponse ?
La même entrée donne toujours la même sortie.
Quelle différence entre la casse de titre et la casse de phrase ?
La casse de titre met une majuscule à la première lettre de chaque mot et le reste en minuscules, en gardant les espaces. La casse de phrase met tout en minuscules, puis une majuscule à la première lettre du texte et après chaque point, point d'interrogation ou d'exclamation.
Puis-je transformer un nom de produit en adresse de page ?
Oui. Choisissez le style kebab : les mots passent en minuscules et sont reliés par des traits d'union, la ponctuation superflue est retirée, et le résultat convient à l'adresse d'une page ou au nom d'un fichier.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/text/case-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello_world","mode":"camel"}'const res = await fetch("https://api.kit.forhosting.com/text/case-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello_world",
"mode": "camel"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/case-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello_world",
"mode": "camel"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/case-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello_world","mode":"camel"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello_world","mode":"camel"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/case-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "hello_world",
"mode": "camel"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.case_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Transforme une chaîne de texte en l'un de neuf styles de casse — upper, lower, title, sentence, camel, pascal, snake, kebab ou constant — en renvoyant le mode d'origine, le texte et le résultat converti sous forme de JSON.
Comment le tokeniseur découpe les identifiants
Ainsi HTMLParser2 se découpe en html, parser et 2, ce qui signifie que snake donne html_parser_2 et constant donne HTML_PARSER_2. Parce que le même tokeniseur alimente chaque mode d'identifiant, convertir une valeur entre snake_case et kebab-case est sans perte pour des mots purement alphanumériques, et aucune ponctuation parasite ne s'infiltre dans un identifiant.
Validation, limites et forme de la sortie
La validation s'exécute avant toute conversion. L'entrée doit être un objet simple ; text doit être une chaîne et mode doit être l'une des neuf valeurs d'énumération, sinon une erreur typée invalid_input est déclenchée qui nomme le champ fautif au lieu d'un plantage non typé. text est plafonné à 100000 caractères, et toute valeur plus longue est rejetée, de sorte qu'une seule charge utile surdimensionnée ne peut bloquer ni l'onglet du navigateur ni le Worker. En cas de succès, la réponse est un objet JSON stable comportant exactement trois clés — mode, text et result — reprenant le mode demandé et le texte d'origine à côté de la chaîne convertie, de sorte que le code en aval peut journaliser ou comparer les deux sans un second appel.
Cas d'intégration
Normaliser des identifiants
Convertissez des noms de colonnes de base de données ou des clés JSON en camelCase, snake_case ou CONSTANT_CASE en volume lors d'une migration de données.
Questions techniques
Y a-t-il une limite de longueur ?
Oui, text est plafonné à 100000 caractères ; une entrée plus longue renvoie invalid_input.
Est-ce gratuit ?
Oui dans le navigateur (tier A). L'API utilise un solde KIT prépayé à partir de $0.002 ; les tâches échouées ne sont pas facturées.