Recorta espacios al inicio y final
Pega cualquier texto. Cada línea pierde sus espacios al inicio y al final — espacios normales, tabs, incluso whitespace Unicode invisible. Por defecto también quitamos las filas que quedan vacías; desactívalo si quieres conservar las líneas en blanco.
O pulsa Ctrl+Enter
Cuándo usar esta herramienta
guíaExportaciones de CRM, Sheets o cualquier pipeline llegan con espacios por sangría o por comillas. Un recorte y la siguiente herramienta ve valores limpios.
Listas de email copiadas de documentos casi siempre traen " [email protected] " con espacios. Limpia en una pegada antes de importar — muchos validadores rechazan direcciones con espacios.
Columnas alineadas de `awk`, `ps`, `df` o logs de Docker rellenan con espacios. Un recorte por línea — listo para diff, grep o pegar en una columna del tabular.
Al copiar desde párrafos con saltos o PDFs entran espacios Unicode invisibles (NBSP, en-space, etc.) que rompen regex y comparaciones. Un recorte al inicio ahorra horas de depuración.
Cómo funciona
tres pasos-
01
Pega tu texto
Exportes CSV, salida de logs, párrafos copiados de PDF, cualquier cosa con espacios sueltos al inicio o al final.
-
02
Decide qué hacer con las líneas vacías
Por defecto activado — si trim deja una línea vacía, se descarta. Desactiva para preservar el número original de líneas (las que quedan vacías se ven en blanco).
-
03
Haz clic en Ejecutar
Cada línea pierde el whitespace al inicio y al final. Espacios, tabs y whitespace Unicode invisible (NBSP, en-space, em-space, ideographic space) — todo fuera.
Bajo el capó
notas técnicas- Qué se recorta
- /^\s+|\s+$/ en cada línea
- Rendimiento
- 100.000 líneas recortadas en ≈90 ms en un MacBook Air M3 de 2024
- Threading
- Web Worker para archivos ≥ 2 MB o ≥ 100.000 líneas
El \s de JavaScript cubre tab, espacio, NBSP (U+00A0), en-space (U+2002), em-space (U+2003), thin space (U+2009), ideographic space (U+3000). Zero-width space (U+200B) no está en \s y se queda.
Un único escaneo lineal, un replace de regex por línea. La salida se asigna una sola vez al final, sin concatenación por línea.
Por encima del umbral de escritorio la página sigue interactiva mientras el Worker hace el trim y entrega un .txt.
Privacidad y límites
qué se queda dóndeTodo corre en tu pestaña del navegador. Tu texto nunca se sube — sin fetch, sin XHR, sin analytics. Tope duro de 80 MB por ejecución.
Preguntas frecuentes
respondidas¿Quita todo el whitespace o solo el del inicio y final?
Solo inicio y final. El whitespace dentro de la línea — entre palabras, en valores separados por tab — se preserva. Si necesitas colapsar el whitespace interno, usa el extractor regex con un patrón adecuado.
¿Qué caracteres cuentan como whitespace?
La clase \s de JavaScript: espacio ASCII, tab, newline, vertical tab, form feed, más whitespace Unicode incluido NBSP (U+00A0), en-space (U+2002), em-space (U+2003), thin space (U+2009), ideographic space (U+3000), etc. Aviso: zero-width space (U+200B) no es parte de \s y no se recorta.
¿Descarta las líneas que quedan vacías tras el trim?
Por defecto sí — el toggle "eliminar líneas vacías" está activo. Desactívalo si quieres conservar cada línea original (una línea recortada a vacío se convierte en una fila en blanco en la salida, manteniendo alineados los números de línea).
¿Se envía mi texto a un servidor?
No. El trim corre entero en tu navegador. No hay paso de subida, ni procesamiento en servidor, ni telemetría sobre el texto que pegas.