Line-ending & BOM normalizer
Rewrite a text file to consistent line endings and BOM handling, on your device. Refuses input that is not valid UTF-8 text. This is not a binary-safe tool.
Runs on your device. The file is never uploaded.
Line-ending & BOM normalizer rewrites a text file so every CR, LF and CRLF becomes the eol you chose, lf by default. The bom option strips a UTF-8 byte-order mark, adds one, or keeps what was there; strip is the default. Input that fails a strict UTF-8 decode is refused, because this tool does not touch binary data.
Questions
Which line endings can it write?
LF, CRLF or CR, set with the eol option, which defaults to lf. Every existing CRLF, CR or LF in the file is rewritten to your choice, so a file with a mixture comes out consistent. Use lf for most tooling and git, and crlf for Windows programs that insist on it.
What does the bom option do?
It controls the UTF-8 byte order mark. strip, the default, removes one if it is there. add always writes one, even if the file had none. keep leaves the file as it was, mark or no mark. Stripping is usually right, since a stray BOM breaks shell scripts, CSV headers and JSON parsers.
Why did it refuse my file as not valid UTF-8?
Because it is not text this tool can safely touch. The decoder is set to fail on invalid byte sequences rather than replace them, since the default behaviour maps every bad byte to a replacement character and would irreversibly destroy binary input while reporting success. The message says the tool rewrites line endings in text files and does not touch binary data.
Does it change the file name?
No. The output keeps exactly the name you gave it, since only the bytes inside change. Download it over the original when you are happy, or keep both if you want to compare them. A batch therefore comes back under the same names it went in with, which makes replacing the originals straightforward.
Can I do a whole folder at once?
Yes. The tool works per file, so drop as many as you like and each one is normalised separately and comes back under its own name. A binary file among them is refused by name, and the rest still run.
Is anything uploaded?
No. The file is decoded, rewritten and re-encoded in your browser, with nothing sent to a server. The text is held in memory as bytes and again as a decoded string, so a large file needs several times its size and is limited by your device.