Inicio › Herramientas para desarrolladores › Convertidor de finales de línea

Convertidor de finales de línea

Pega texto o suelta archivos para ver qué finales de línea usan y conviértelos a LF, CRLF o CR con un clic. Los archivos se convierten byte a byte en tu navegador, así que el texto UTF-8 nunca se daña y no se sube nada.

Última actualización:

Convertir a
Vista previa del resultado (finales de línea mostrados como marcadores)

Los navegadores convierten en LF cada salto de línea que escribes. Los finales de línea del texto pegado se conservan exactamente; para revisar un archivo byte a byte, usa la pestaña Archivos.

Publicidad
Publicidad

Cómo usar Convertidor de finales de línea

  1. Pega texto o abre la pestaña Archivos y suelta uno o más archivos (código, CSV, configuración, texto).
  2. Revisa los finales de línea detectados. Los contadores muestran cuántos saltos CRLF, LF y CR se encontraron y avisan si están mezclados.
  3. Elige el destino: LF para Linux, macOS y repositorios Git, CRLF para herramientas de Windows, CR solo para software de Mac muy antiguo.
  4. Elige los extras que quieras: quitar espacios al final, asegurar un salto de línea final y conservar, quitar o añadir una BOM.
  5. Pulsa Convertir finales de línea y luego copia el texto o descarga cada archivo con su nombre original (o todos en un ZIP).

Finales de línea de un vistazo

NombreBytesEscapeUsado por
LF (salto de línea)0A\nLinux, macOS (OS X y posteriores), Android, la mayoría de los lenguajes de programación, repositorios Git
CRLF (retorno de carro + salto de línea)0D 0A\r\nWindows, MS-DOS, encabezados HTTP, correo SMTP, muchos protocolos de red, archivos CSV de Excel
CR (retorno de carro)0D\rMac OS 9 clásico y anteriores, algunas impresoras y dispositivos antiguos

Los nombres vienen de las máquinas de escribir y los teletipos: el retorno de carro llevaba el cabezal de impresión al principio de la línea y el salto de línea hacía avanzar el papel. Windows conservó ambos caracteres, Unix solo el salto de línea y el Mac OS clásico solo el retorno de carro.

Dónde causa problemas un final de línea incorrecto

  • Scripts de shell: un script guardado con CRLF falla con /bin/bash^M: bad interpreter o $'\r': command not found. Conviértelo a LF.
  • Diffs de Git: cuando un editor cambia todos los finales, el diff muestra cada línea como modificada aunque el contenido no haya cambiado.
  • Docker y CI: los scripts de entrada y archivos de configuración copiados desde Windows a contenedores Linux necesitan LF.
  • Herramientas de Windows: las versiones antiguas del Bloc de notas y algunos archivos por lotes esperan CRLF y pueden mostrar los archivos LF como una sola línea larga.
  • Protocolos: los encabezados HTTP/1.1 y las líneas de correo SMTP deben terminar en CRLF por especificación (RFC 9112 y RFC 5321).

Corrige los finales de línea en Git para siempre

Convertir un archivo una vez ayuda, pero un archivo .gitattributes en la raíz del repositorio evita que el problema vuelva. Una configuración habitual guarda el texto con LF y deja que los archivos exclusivos de Windows conserven CRLF:

* text=auto eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.png binary

Después de añadir el archivo, ejecuta git add --renormalize . y haz commit para reescribir los archivos existentes. En la línea de comandos también puedes usar dos2unix file.txt y unix2dos file.txt, o sed -i 's/\r$//' file.txt para quitar los retornos de carro.

Cómo ver los finales de línea en tu editor

  • VS Code: la barra de estado muestra LF o CRLF; haz clic para cambiar el archivo actual. El ajuste files.eol controla los archivos nuevos.
  • Notepad++: View › Show Symbol › Show End of Line para verlos, y Edit › EOL Conversion para convertir.
  • Vim: :set ff? muestra el formato; :set ff=unix y luego :w convierte a LF.
  • Terminal: file name.txt indica "with CRLF line terminators", y cat -A muestra CR como ^M.

Preguntas frecuentes

¿Cuál es la diferencia entre CRLF y LF?

Ambos marcan el final de una línea. LF es un único byte de salto de línea (0x0A) que usan Linux, macOS y la mayoría de las herramientas de programación. CRLF es un retorno de carro seguido de un salto de línea (0x0D 0x0A) y es la convención de Windows. CR solo (0x0D) lo usaba el Mac OS clásico antes de OS X.

¿Por qué Git avisa de que LF será reemplazado por CRLF?

Git puede normalizar los finales de línea al hacer commit o checkout de archivos, según core.autocrlf y .gitattributes. El aviso significa que un archivo de tu copia de trabajo usa un final distinto del que Git guardará. Convertir el archivo a LF antes del commit, o añadir una regla como * text=auto eol=lf a .gitattributes, hace que el aviso desaparezca.

¿La conversión dañará UTF-8 o los caracteres especiales?

No. Los bytes 0x0D y 0x0A nunca aparecen dentro de un carácter UTF-8 multibyte, así que la herramienta solo cambia los bytes de salto de línea (y los espacios o tabulaciones finales si lo pides). Todos los demás bytes se copian exactamente. Los archivos UTF-16 con BOM se convierten por carácter de 16 bits por la misma razón.

¿Qué son los finales de línea mixtos?

Un archivo tiene finales mixtos cuando algunas líneas terminan en CRLF y otras en LF o CR, algo que suele pasar al copiar código entre editores de Windows y Unix. Los finales mixtos pueden estropear los diffs, los scripts de shell y algunos analizadores. Convertir todo el archivo a un solo estilo lo soluciona.

¿Por qué un script de shell puede fallar con '\r: command not found'?

El script se guardó con finales CRLF de Windows, así que Bash ve un retorno de carro extra al final de cada línea. Convertir el script a LF corrige el error.

¿Qué hace la opción BOM?

Una marca de orden de bytes es un marcador invisible al principio de un archivo. Algunos programas de Windows la añaden a los archivos UTF-8, mientras que muchas herramientas de Unix y scripts PHP o de shell no la esperan. Conservar la deja sin cambios, Quitar la elimina y Añadir pone una BOM UTF-8 al principio del texto UTF-8.

¿Se suben mis archivos?

No. Los archivos se leen y convierten con JavaScript en tu navegador y los resultados se guardan directamente desde tu dispositivo. No se envía nada a ningún servidor.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →