Supprimer les Lignes Vides
Retirez toute ligne vide ou avec seulement des espaces d'un texte, code, log ou liste. Tri et conversion de casse en option. Gratuit dans votre navigateur.
À Propos de l'Outil Supprimer les Lignes Vides
Supprimer les Lignes Vides est un nettoyeur de texte mono-usage qui parcourt votre entrée ligne par ligne et élimine chaque ligne ne contenant pas de caractères visibles. La définition utilisée est stricte et correspond à ce qu'attendent la plupart des développeurs : une ligne est vide si, après passage par String.prototype.trim() de JavaScript, sa longueur est zéro — c'est-à-dire que les lignes contenant seulement des espaces, des tabulations (\t), des espaces insécables (\u00A0), ou tout autre espace Unicode sont également supprimées. L'outil préserve l'ordre original des lignes restantes et le contenu exact dans chaque ligne y compris les espaces de début et de fin à l'intérieur de cette ligne (seules les lignes totalement vides sont supprimées). Trois étapes facultatives de post-traitement sont disponibles : tri alphabétique (A-Z croissant), tri inverse (Z-A décroissant, utile pour les numéros de version ou dates), et conversion de casse (MAJUSCULES, minuscules, ou inchangée). Flux courants : nettoyer du code copié depuis des PDF ou Stack Overflow qui accumulent des doubles sauts de ligne, condenser des fichiers log pour grep, retirer les lignes vides supplémentaires que l'export CSV d'Excel injecte parfois, et nettoyer les signatures d'e-mail ou brouillons markdown avant publication.
Qu'est-ce qu'une 'ligne vide' — seulement les lignes vraiment blanches ou aussi celles avec uniquement des espaces ?
Les deux. L'outil applique String.trim() à chaque ligne avant de vérifier la longueur, donc une ligne contenant seulement des espaces, tabulations, plusieurs espaces insécables (l'artéfact courant lors d'un collage depuis Word ou Google Docs, U+00A0), espaces de largeur nulle (U+200B), ou toute combinaison d'espaces Unicode est supprimée comme les lignes '\n\n' réellement vides. Si vous avez besoin de conserver des lignes contenant uniquement des espaces (par exemple préserver l'indentation dans un bloc de code), copiez d'abord dans un éditeur de texte brut et supprimez seulement les '\n\n' littéraux vous-même.
Pourquoi est-ce mieux qu'un rechercher-remplacer regex avec \n\n+ ?
Trois raisons. Premièrement, écraser \n\n+ en \n avec regex laisse une ligne vide par groupe — cet outil les supprime entièrement. Deuxièmement, regex rate les lignes uniquement avec espaces sauf à écrire un motif plus complexe comme /^\s*$\n/gm que tous les utilisateurs ne connaissent pas. Troisièmement, cet outil offre tri et conversion de casse en un seul passage, donc vous ne chaînez pas plusieurs opérations. La performance est équivalente (balayage O(n) par ligne), aucune pénalité de vitesse pour la commodité.
Préserve-t-il l'indentation, les tabulations et les espaces finaux dans les lignes non vides ?
Oui. Seules les lignes totalement vides ou uniquement avec espaces sont supprimées. Une ligne comme ' return value' garde ses quatre espaces de début ; une ligne comme 'bonjour \t' garde son espace et tabulation de fin. L'indentation compte en Python, YAML et Makefiles, donc cette préservation est délibérée. Si vous voulez aussi retirer l'espace final des lignes conservées, passez la sortie dans un outil Nettoyeur de Texte ensuite.

Selon quoi l'option 'Trier les résultats' trie-t-elle réellement ?
Le tri par défaut est alphabétique sensible à la langue via String.prototype.localeCompare(), donc les caractères accentués (é, è, ç, à, ô) se trient à leur position naturelle dans l'alphabet plutôt qu'après Z. Les nombres se trient lexicographiquement (donc '10' vient avant '2') sauf si vous avez des chaînes numériques — pour un tri numérique naturel utilisez l'outil Trier les Lignes dédié qui a un mode 'Naturel'. Le tri inverse appelle simplement Array.reverse() après le tri.
Y a-t-il une taille maximale d'entrée et les gros fichiers sont-ils gérés ?
Pas de limite stricte. L'outil gère plus d'1 million de lignes confortablement car l'implémentation est un unique Array.filter() avec String.trim() — temps O(n) et mémoire O(n). Les onglets de navigateur permettent généralement un contenu de textarea jusqu'à ~50 Mo avant que les performances de collage ne se dégradent. Pour des logs de plusieurs gigaoctets utilisez des outils Unix : `grep -v '^[[:space:]]*$' fichier.log` retire les lignes vides et uniquement avec espaces et s'exécute en streaming sans charger tout le fichier en mémoire.
Va-t-il supprimer les lignes vides en double mais garder un séparateur entre paragraphes ?
Non — cet outil est agressif et supprime chaque ligne vide. Si vous voulez écraser plusieurs blancs en un seul (préservant la séparation de paragraphes en markdown ou prose), utilisez l'outil Remplacer les Mots avec regex activé : recherchez /\n\s*\n\s*\n+/g et remplacez par '\n\n'. Cela garde la prose lisible tout en nettoyant les espaces blancs excessifs.
L'outil envoie-t-il mon texte quelque part ?
Non. Le filtre s'exécute en JavaScript du navigateur sur la valeur du textarea, sans fetch() vers un backend, sans analytique avec contenu. Ouvrez l'onglet Réseau de DevTools et cliquez Supprimer — vous verrez zéro requête sortante. Cela rend l'outil sûr pour nettoyer des données confidentielles comme clés API, listes d'employés, données clients, ou extraits de code propriétaire sans risque de conformité.
