strip-bom

Strip UTF-8 byte order mark (BOM) from a string/buffer/stream

strip-bom

Strip UTF-8 byte order mark (BOM) from a string/buffer/stream

From Wikipedia:

The Unicode Standard permits the BOM in UTF-8, but does not require nor recommend its use. Byte order has no meaning in UTF-8.

$ npm install --save strip-bom
var fs = require('fs');
var stripBom = require('strip-bom');
 
stripBom('\ufeffUnicorn');
//=> Unicorn 
 
stripBom(fs.readFileSync('unicorn.txt'));
//=> Unicorn 

Or as a Transform stream:

var fs = require('fs');
var stripBom = require('strip-bom');
 
fs.createReadStream('unicorn.txt')
    .pipe(stripBom.stream())
    .pipe(fs.createWriteStream('unicorn.txt'));
$ npm install --global strip-bom
$ strip-bom --help
 
  Usage
    strip-bom <file> > <new-file>
    cat <file> | strip-bom > <new-file>
 
  Example
    strip-bom unicorn.txt > unicorn-without-bom.txt

MIT © Sindre Sorhus