A fast, simple string formatter like util.format() method in Node.js

Usage no npm install needed!

<script type="module">
  import fastFormat from '';



Circle CI

This is a string formatter like util.format() method in Node.js, supports just only %s placeholder but accordingly faster than that. It will be one of the best solution if need a speed rather than complex formatting.


Same as util.format() method.

format(formatString[, ...])

If use one formatting repeatedly, recommended to compile the formatString in advance.



let s = format('%s, %s!', 'Hello', 'world');
console.log(s);     // => 'Hello, world!'
let f = format.compile('%s, %s!');
let s1 = f('Hello', 'world');
console.log(s1);    // => 'Hello, world!'
let s2 = f('Howdy', 'World');
console.log(s2);    // => 'Howdy, World!'


// Bench 1
let s =;
for (let i = 0, len = 100000000; i < len; i++) {
    format('i = %s, len = %s', i, len);
console.log( - s);
// Bench 2
let s =;
let f = format.compile('i = %s, len = %s');
for (let i = 0, len = 100000000; i < len; i++) {
    f(i, len);
console.log( - s);

environment1: Core i7 2.2GHz + Node.js v6.9.5

module time bench
fast-format 12,388 msec 2
fast-format 22,039 msec 1
util.format 28,659 msec 1

environment2: Core i7 2.2GHz + Google Chrome 56.0.2924.87

module time bench
fast-format 12,898 msec 2
fast-format 22,705 msec 1
util.format 99,103 msec 1

The util.format() method was converted with Browserify to run on the browser.


via npm

npm install fast-format --save

via Bower

bower install fast-format

directly (in case of the browser)

<script src="/path/to/fast-format.min.js"></script>

Browser Support

Google Chrome, Firefox, Safari, Opera, Microsoft Edge and IE 6+