Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


boolean converts lots of things to boolean.


Category Status
Version npm
Dependencies David
Dev dependencies David
Build GitHub Actions
License GitHub


$ npm install boolean

Quick start

First you need to add a reference to boolean in your application:

const { boolean, isBooleanable } = require('boolean');

If you use TypeScript, use the following code instead:

import { boolean, isBooleanable } from 'boolean';

To verify a value for its boolean value, call the boolean function and provide the value in question as parameter:

console.log(boolean('true')); // => true

The boolean function considers the following values to be equivalent to true:

  • true (boolean)
  • 'true' (string)
  • 'TRUE' (string)
  • 't' (string)
  • 'T' (string)
  • 'yes' (string)
  • 'YES' (string)
  • 'y' (string)
  • 'Y' (string)
  • 'on' (string)
  • 'ON' (string)
  • '1' (string)
  • 1 (number)

In addition to the primitive types mentioned above, boolean also supports their object wrappers Boolean, String, and Number.

Please note that if you provide a string or a String object, it will be trimmed.

All other values, including undefined and null are considered to be false.

Figuring out whether a value can be considered to be boolean

From time to time, you may not want to directly convert a value to its boolean equivalent, but explicitly check whether it looks like a boolean. E.g., although boolean('F') returns false, the string F at least looks like a boolean, in contrast to something such as 123 (for which boolean(123) would also return false).

To figure out whether a value can be considered to be a boolean, use the isBooleanable function:

console.log(isBooleanable('true')); // => true

The isBooleanable function considers all of the above mentioned values to be reasonable boolean values, and additionally, also the following ones:

  • false (boolean)
  • 'false' (string)
  • 'FALSE' (string)
  • 'f' (string)
  • 'F' (string)
  • 'no' (string)
  • 'NO' (string)
  • 'n' (string)
  • 'N' (string)
  • 'off' (string)
  • 'OFF' (string)
  • '0' (string)
  • 0 (number)

Running quality assurance

To run quality assurance for this module use roboter:

$ npx roboter