Vérifier la limite de caractères d’une publication sociale
Ce vérificateur mesure une publication complète selon la limite standard de X, Instagram, Facebook, LinkedIn, Threads ou Bluesky.
Lancer gratuitement
Collez la version définitive, choisissez sa destination et obtenez le nombre de caractères, la limite applicable, la marge restante ainsi qu’un verdict clair. Les espaces, la ponctuation, les retours à la ligne et les emojis sont inclus, ce qui facilite le dernier contrôle éditorial avant la validation ou la programmation d’une publication.
Vérifiez la version définitive plutôt qu’un ancien brouillon
Les limites de caractères s’appliquent au moment de publier : transmettez donc le texte complet qui sera réellement diffusé. Incluez le titre, le corps, les hashtags, les mentions, les liens, la ponctuation, les espaces volontaires et les retours à la ligne. Le vérificateur mesure les points de code Unicode, si bien qu’un emoji courant compte comme un caractère et non comme deux unités internes JavaScript. Chaque espace visible et chaque retour à la ligne contribue néanmoins au total. Une fois la plateforme choisie, le résultat indique son nom normalisé, le décompte mesuré, la limite applicable, le nombre de caractères restants et la conformité du texte. Une marge nulle signifie que la publication utilise toute la capacité autorisée sans la dépasser. Une valeur négative signale un dépassement ; sa valeur absolue précise exactement combien de caractères doivent être supprimés. Cette réponse est plus utile qu’un compteur généraliste, car une même copie peut convenir à un réseau et être trop longue pour un autre. Relancez le contrôle après toute modification de dernière minute, notamment après l’ajout de hashtags de campagne, de mentions de comptes, d’une mention légale ou d’un appel à l’action.
Interprétez toujours le décompte de la même manière
L’outil applique une règle stable à toutes les destinations prises en charge. Il compte les lettres, les chiffres, les symboles, les signes de ponctuation, les espaces et les retours à la ligne qui composent la publication. Unicode est également compté par point de code, ce qui évite la surprise fréquente de voir de nombreux emojis occuper deux positions dans un calcul élémentaire de longueur de chaîne JavaScript. Le champ character_limit contient la limite standard enregistrée pour la plateforme retenue, tandis que character_count décrit uniquement le texte fourni. Leur soustraction donne remaining_characters : une valeur positive représente la place disponible, zéro correspond à un ajustement exact et une valeur négative indique le dépassement. Le drapeau within_limit permet à une automatisation de prendre une décision booléenne sans calcul supplémentaire. Les noms de plateformes sont normalisés en minuscules, mais un nom inconnu provoque une erreur de saisie au lieu de déclencher silencieusement un choix de remplacement. Ce comportement empêche les outils de programmation d’approuver un texte selon la mauvaise règle. Les politiques pouvant évoluer, contrôlez de nouveau les campagnes importantes lorsque les exigences de la destination changent.
Intégrez le résultat aux processus éditoriaux et de diffusion
Une vérification manuelle est pratique avant la mise en ligne d’une publication précise, tandis que l’API convient aux opérations de contenu répétitives. Une personne chargée de l’édition peut contrôler un brouillon avant d’en demander la validation. La responsable d’une campagne peut tester des adaptations d’une même annonce pour plusieurs destinations et repérer les textes à raccourcir. Une intégration de diffusion peut refuser un élément trop long avant son arrivée dans le programmateur et renvoyer la marge négative pour expliquer la correction attendue. L’algorithme étant déterministe et sans accès au réseau, un texte et une plateforme identiques produisent toujours le même résultat. La sortie convient ainsi aux règles de validation, aux jeux d’essai, aux feuilles de calcul, aux connecteurs de gestion de contenu et aux contrôles préalables d’une chaîne de publication sociale. Une requête API coûte $0.002 et l’unité correspond à une publication vérifiée. Consacrez chaque requête à un texte exact et à une seule destination afin de conserver une piste d’audit lisible. Si le texte est trop long, éliminez d’abord les répétitions peu utiles, puis vérifiez de nouveau la version finale complète avec sa ponctuation, ses hashtags et ses espaces modifiés.
Cas d’usage
Contrôler une publication programmée
Bloquez un brouillon trop long avant la file de diffusion et indiquez précisément à la personne chargée de l’édition combien de caractères retirer.
Adapter une campagne à plusieurs réseaux
Vérifiez séparément chaque version afin de raccourcir le contenu destiné aux réseaux les plus contraignants sans couper inutilement les autres.
Ajouter une règle de validation au CMS
Exploitez le verdict booléen et la marge restante pour fournir un retour immédiat et déterministe dans le processus éditorial.
Questions fréquentes
Quelles plateformes sont reconnues ?
Les noms acceptés sont x, instagram, facebook, linkedin, threads et bluesky. Tout autre nom provoque une erreur de saisie non valide.
Les espaces et les retours à la ligne comptent-ils ?
Oui. Les espaces, les tabulations, la ponctuation et les retours à la ligne appartiennent au texte transmis et entrent dans le décompte.
Comment les emojis sont-ils comptés ?
L’algorithme compte les points de code Unicode : un emoji courant vaut donc un caractère plutôt que deux unités UTF-16. Un emoji composé peut contenir plusieurs points et compter davantage.
Que signifie une marge restante négative ?
La publication dépasse la limite sélectionnée. Par exemple, une marge de moins douze impose de supprimer douze caractères.
Combien coûte une vérification par API ?
Chaque requête API coûte $0.002 et contrôle une publication pour une seule plateforme choisie.
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/seo/social-post-length-limit-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"A concise product update with one clear takeaway.","platform":"x"}'const res = await fetch("https://api.kit.forhosting.com/seo/social-post-length-limit-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "A concise product update with one clear takeaway.",
"platform": "x"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/social-post-length-limit-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "A concise product update with one clear takeaway.",
"platform": "x"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/social-post-length-limit-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"A concise product update with one clear takeaway.","platform":"x"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"A concise product update with one clear takeaway.","platform":"x"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/social-post-length-limit-check", 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": "A concise product update with one clear takeaway.",
"platform": "x"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.social_post_length_limit_check",
"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. |