This repository has been archived by the owner. It is now read-only.
A pipe to browser utility
Ruby Shell
Clone or download


    git clone git://
    gem install bcat

NOTE: This repository is archived and no longer actively maintained by @rtomayko
      as of 2017-11-08.

bcat is a pipe to browser utility for use at the shell and within editors like
Vim or Emacs. It reads from standard input, or one or more files, and streams
output to a browser window:

    $ echo "hi mom" |bcat
    $ echo "hi mom" |bcat -T 'Important Message'
    $ echo "hi mom" |bcat -b chrome

Plain text is converted to simple preformatted HTML with rudimentary support for
ANSI/VT100 escape sequences (color, background, bold, underline, etc.)

You can also pipe HTML into bcat, in which case input is written through to the
browser unmodified:

    $ echo "<h1>hi mom</h1>" |bcat
    $ echo "*hi mom*" |markdown |bcat

Output is displayed progressively as it's being read, making bcat especially
useful with build tools or even commands like tail(1) that generate output over
longer periods of time:

    $ make all  |bcat
    $ rake test |bcat
    $ tail -f /var/log/syslog |bcat
    $ (while printf .; do sleep 1; done) |bcat

See the bcat(1) EXAMPLES section for more on using bcat from the shell or within
editors like Vim:

bcat was inspired by TextMate's HTML output capabilities and a desire to have
them at the shell and also within editors like Vim or Emacs. See:

Only a small portion of TextMate's HTML output features are currently supported,
although more will be added in the future (like hyperlinking file:line
references and injecting CSS/JavaScript).

See the INSTALLING, COPYING, and CONTRIBUTING files for more information on
those things.

Copyright (c) 2010 by Ryan Tomayko <>