node package manager



Detect, enforce or strip BOM signatures.

Build Status Dependency Status NPM version Views


Getting Started


$ npm install bombom

TypeScript Usage

/// <reference path="node_modules/bombom/bombom.d.ts" />
import bombom = require('bombom');

JavaScript Usage

var bombom = require('bombom');



  • BOM type: This is the key (e.g., utf8) used to point to a particular BOM signature. See pre-registered BOM types below.
  • BOM signature: This is a small NodeBuffer with an array of hex codes in it. For your convenience, you can register a new BOM type and signature by providing a simple number[].

Pre-registered BOM Types

  • utf8: new Buffer([0xEF, 0xBB, 0xBF])
  • utf16le: new Buffer([0xFF, 0xFE])
  • utf16be: new Buffer([0xFE, 0xFF])
  • utf32le: new Buffer([0xFF, 0xFE, 0x00, 0x00])
  • utf32be: new Buffer([0x00, 0x00, 0xFE, 0xFF])
    See boms.ts

Public Methods

detect(buffer: NodeBuffer): string

Detects if the specified buffer has a BOM signature and returns the type if it does.

enforce(buffer: NodeBuffer, type: string): void

Enforces the specified BOM type on the buffer. This will either add the BOM signature to the buffer or, if there is an existing BOM signature that is not of the type specified, it will replace it with the type specified.
Emits "error" if type is not registered

isRegistered(type: string): boolean

Checks whether the specified BOM type is already registered.

isSigned(buffer: NodeBuffer, type?: string): boolean

Checks whether the specified buffer is signed or not. If the type is specified, it only checks for that type.
Emits "error" if type is not registered

register(type: string, signature: number[]): void

Registers a BOM type with a BOM signature (an array of hex values).
Emits "warn" if type is already registered

strip(buffer: NodeBuffer, type?: string): NodeBuffer

Strips off the BOM signature from the specified buffer and returns the new, stripped-off buffer. If the type is specified, it only strips off that type of signature, if it exists.
Emits "error" if type is not registered

unregister(type: string): void

Unregisters the specified BOM type.
Emits "warn" if type hasn't been registered


Released under the MIT license.

Bitdeli Badge