Option bom

Table of Contents

The bom option strip the byte order mark (BOM) from the input string or buffer. When activated, the BOM is automatically detected and the parsing will occur whether a BOM was found or not.

  • Type: boolean
  • Optional
  • Default: false
  • Since: 4.4.0


The UTF-8 BOM is a sequence of Bytes at the start of a text-stream (EF BB BF) that allows the reader to reliably determine if file is being encoded in UTF-8.


It is a boolean value which default to false. The bom example simply activate the option:

const parse = require('csv-parse/lib/sync')
const assert = require('assert')

const data = "\ufeffa,b,c\n"
const records = parse(data, {
  bom: true
assert.deepEqual(records, [
  [ 'a', 'b', 'c' ]