ForHosting KIT · Outils pour développeurs

Calculateur de distance d’édition de Levenshtein

Ce calculateur mesure l’écart entre deux chaînes par le nombre minimal d’insertions, de suppressions et de substitutions d’un caractère permettant de transformer la première en seconde.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Saisissez une source et une cible pour obtenir la distance et leurs longueurs. Le calcul est déterministe, sensible à la casse et aux espaces, et compatible Unicode ; vous pouvez ainsi valider un algorithme, comparer des saisies et construire un rapprochement de texte reproductible.

Ce que mesure la distance de Levenshtein

La distance de Levenshtein résume la comparaison par un entier. Zéro indique des chaînes identiques ; un signifie qu’une insertion, suppression ou substitution suffit. Les valeurs supérieures donnent le nombre minimal d’opérations. Ainsi, passer de <code>kitten</code> à <code>sitting</code> demande 3 modifications : 2 substitutions et 1 insertion. La mesure tient compte de l’ordre et reste symétrique lorsque vous inversez source et cible. Il s’agit d’un décompte absolu, et non d’un pourcentage. Une distance de 3 peut donc être forte pour un code court mais faible pour un paragraphe. Les deux longueurs fournies avec le résultat vous permettent de l’interpréter selon ce contexte.

Traitement exact des caractères

Les chaînes sont comparées sans nettoyage implicite. Majuscules, minuscules, espaces et ponctuation restent distincts, et aucune normalisation Unicode n’est appliquée. Les caractères sont parcourus comme points de code Unicode : un emoji courant vaut donc un caractère plutôt que deux moitiés UTF-16. Un symbole visuel composé peut néanmoins contenir plusieurs points. Si votre application doit rapprocher des graphies visuellement équivalentes, normalisez les deux entrées selon une règle explicite. L’algorithme de programmation dynamique ne conserve que deux lignes de calcul, ce qui limite la mémoire à la taille de la chaîne la plus courte. Chaque entrée est plafonnée à 5,000 points de code afin de borner le coût quadratique.

Bien exploiter le résultat

Cette distance aide à classer des correspondances approximatives, repérer des fautes et tester une transformation. Un moteur de recherche peut l’ajouter à ses signaux de correction ; un flux de données peut soumettre des noms proches à une vérification ; un test peut imposer un budget précis de modifications. N’appliquez pas le même seuil partout. Une distance de 2 peut être plausible dans un nom long mais désigner un autre code lorsqu’il est court. Tenez compte de la longueur, de la langue et du risque d’un faux rapprochement. Toutes les opérations ont le même poids : la mesure ignore la proximité des touches et ne compte pas une transposition comme une seule édition. Utilisez-la comme référence transparente, complétée par les règles de votre domaine.

Contrôler des suggestions orthographiques

Classez les corrections selon le minimum d’éditions entre la saisie et chaque terme connu.

Repérer des doublons probables

Comparez noms, libellés ou références et faites vérifier les rapprochements avant toute fusion.

Tester une transformation textuelle

Vérifiez une distance exacte entre valeur initiale et résultat dans des tests déterministes.

Quelles opérations valent une édition ?

Insérer, supprimer ou remplacer un caractère compte chaque fois pour une édition.

La casse est-elle prise en compte ?

Oui. Uniformisez les deux entrées au préalable si vous souhaitez l’ignorer.

Les espaces modifient-ils la distance ?

Oui. Espaces, tabulations et retours à la ligne sont conservés exactement.

Comment Unicode et les emoji sont-ils comptés ?

Le calcul emploie les points de code Unicode ; un symbole composé peut toutefois en contenir plusieurs.

S’agit-il de Damerau-Levenshtein ?

Non. L’échange de deux caractères voisins n’est pas une opération unique ici.

Quel est le prix d’une requête API ?

Chaque requête API coûte $0.002. La version navigateur s’exécute localement sans requête payante.

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.

POSThttps://api.kit.forhosting.com/dev/levenshtein

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é.

curl -X POST https://api.kit.forhosting.com/dev/levenshtein \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source":"kitten","target":"sitting"}'
{
  "source": "kitten",
  "target": "sitting"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.levenshtein",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_chars5000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →