Pega un elemento por línea y procesa el texto. Las líneas se comparan tal como están; las mayúsculas y los espacios cuentan.
Se ejecuta localmente en tu navegadorPega un elemento por línea y pulsa Eliminar líneas duplicadas. La primera aparición de cada línea se queda donde estaba y las copias posteriores se descartan, así que el resultado conserva el orden original en lugar de ordenarse.
La comparación es exacta: «Apple» y «apple» son dos líneas distintas, y también lo son «apple» y «apple » con un espacio al final. Las tres casillas de debajo relajan esa regla cuando la lista se armó con fuentes distintas.
Cada línea se compara tal como se escribió, carácter a carácter. Las mayúsculas cuentan («Total» y «total» son líneas distintas), un espacio final cuenta, y dos líneas que parecen iguales pueden no serlo: un espacio duro (U+00A0) en lugar de un espacio normal, o un acento escrito como carácter combinante en vez de un único punto de código, mantienen las líneas separadas. Por eso una lista copiada de una página web o de un PDF a veces conserva un «duplicado» que el ojo no ve.
Las líneas vacías también cuentan como contenido. Una racha de líneas vacías se reduce a una sola, y una lista que termina con un salto de línea se trata como si terminara en su último elemento: el salto ya no añade una línea vacía al resultado, como sí hacía la versión anterior de esta página.
Ignorar mayúsculas y minúsculas compara las líneas en minúsculas. Ignorar espacios al inicio y al final recorta cada línea y reduce las rachas de espacios (tabuladores incluidos) a un solo espacio, de modo que « JS tools » coincide con «js tools». Quitar líneas vacías elimina las líneas vacías del resultado. La línea que se conserva es siempre la primera tal como se escribió, nunca la forma normalizada.
El renglón «Líneas de entrada / Eliminadas / Líneas de salida» indica lo que pasó: las de entrada cuentan las líneas leídas (el salto final no cuenta), las eliminadas cuentan cada línea descartada y las de salida las que quedan. El resultado es texto plano, listo para pegar en una columna de hoja de cálculo, en una lista IN de SQL o en un array de código.
La herramienta funciona en este navegador: lee el texto del cuadro, lo deduplica en local y lo vuelve a mostrar, sin subir nada. Medido en esta versión con Chrome real: no sale ninguna petición de la página mientras se procesa una lista.
Las salidas de más de 50.000 caracteres se muestran sin colores de sintaxis, porque el resaltador compartido se detiene ahí; el texto no cambia. Las líneas cuyo valor coincide con el nombre de una propiedad de objeto de JavaScript —toString, constructor, valueOf, hasOwnProperty, __proto__ y similares— la versión anterior las borraba aunque aparecieran una sola vez. Esta versión las conserva, y por eso los recuentos pueden diferir de los que devolvía la página antes.