# ansi-to-html

> Convert ansi escaped text streams to html.

Latest version **0.7.2** (published 2021-10-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install ansi-to-html
pnpm add ansi-to-html
yarn add ansi-to-html
bun add ansi-to-html
```

Provides the command `ansi-to-html`.

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.7.2 |
| Published | 2021-10-05 |
| First published | 2012-09-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=8.0.0 |
| Dependencies | 1 |
| Unpacked size | 77.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 376 |
| Author | Rob Burns |
| Maintainers | rburns |
| Keywords | ansi, html |

## Links

- npm: https://www.npmjs.com/package/ansi-to-html
- Repository: https://github.com/rburns/ansi-to-html
- Issues: https://github.com/rburns/ansi-to-html/issues
- npm.io page: https://npm.io/package/ansi-to-html

## Dependencies (1)

- [entities](https://npm.io/package/entities.md) ^2.2.0

## Alternatives

- [@tsparticles/shape-image](https://npm.io/package/@tsparticles/shape-image.md) — 303.7K weekly downloads
- [@tsparticles/shape-line](https://npm.io/package/@tsparticles/shape-line.md) — 233.7K weekly downloads
- [stringify-attributes](https://npm.io/package/stringify-attributes.md) — 58.6K weekly downloads
- [mobile-drag-drop](https://npm.io/package/mobile-drag-drop.md) — 46.3K weekly downloads
- [@comunica/actor-rdf-parse-html](https://npm.io/package/@comunica/actor-rdf-parse-html.md) — 29.2K weekly downloads

## Recent versions

- 0.7.2 (latest) — 2021-10-05
- 0.7.1 — 2021-07-21
- 0.7.0 — 2021-07-07
- 0.6.15 — 2021-05-13
- 0.6.14 — 2020-02-05
- 0.6.13 — 2019-11-05
- 0.6.12 — 2019-10-14
- 0.6.11 — 2019-05-20
- 0.6.10 — 2019-01-24
- 0.6.9 — 2018-11-22
- 0.6.8 — 2018-10-24
- 0.6.7 — 2018-10-20
- 0.6.6 — 2018-06-30
- 0.6.5 — 2018-06-30
- 0.6.4 — 2018-01-11
- … 13 more at https://npm.io/package/ansi-to-html/versions

## README

## Ansi to Html
[![rburns](https://circleci.com/gh/rburns/ansi-to-html.svg?style=svg)](https://circleci.com/gh/rburns/ansi-to-html)
[![](https://img.shields.io/npm/v/ansi-to-html.svg)](https://www.npmjs.com/package/ansi-to-html)
![](https://img.shields.io/npm/dm/ansi-to-html.svg)

This was originally a port of the ansi to html converter from
[bcat](https://github.com/rtomayko/bcat/blob/master/lib/bcat/ansi.rb) to
JavaScript. It has since undergone quite a lot of modification.

It has a few additions:

* The API has been altered to accept options in the constructor, and input in `toHtml()`.
* ANSI codes for setting the foreground or background color to default are handled
* the 'erase in line' escape code (`\x1b[K`) is dropped from the output.

## Installation

```bash
npm install ansi-to-html
```

## Usage

```javascript
var Convert = require('ansi-to-html');
var convert = new Convert();

console.log(convert.toHtml('\x1b[30mblack\x1b[37mwhite'));

/*
    prints:
    <span style="color:#000">black<span style="color:#AAA">white</span></span>
*/
```

## Command line usage

When using ansi-to-html from the command line the stream option is set to `true`.
Other options can be provided. See `ansi-to-html -h` for more detail.

### Process a file

```bash
ansi-to-html the_filename
```

### From STDIN

```bash
git log | ansi-to-html
```

## Options

Options can be be passed to the constructor to customize behaviour.

**fg** `<CSS color values>`. The default foreground color used when reset color codes are encountered.

**bg** `<CSS color values>`. The default background color used when reset color codes are encountered.

**newline** `true` or `false`. Convert newline characters to `<br/>`.

**escapeXML** `true` or `false`. Generate HTML/XML entities.

**stream** `true` or `false`. Save style state across invocations of `toHtml()`.

**colors** `Object`/`Array` (with values 0 - 255 containing CSS color values). Can override specific colors or the entire ANSI palette

### Default options

```json5
{
    fg: '#FFF',
    bg: '#000',
    newline: false,
    escapeXML: false,
    stream: false
}
```

## Development

Once you have the git repository cloned, install the dependencies:

```bash
cd ansi-to-html
npm install
```

#### Lint

```bash
npm run lint
```

#### Build

```bash
npm run build
```

- Builds the `/src` files by running `babel`.
- Saves the built files in `/lib` output directory.
- Recommended to run `babel` in Watch mode - will re-build the project each time the files are changed.
```bash
npm run build:watch
```

#### Test

```bash
npm test
```
- Note: Runs the tests against the built files (in the `/lib` directory).
- You also run the tests in watch mode (will rerun tests when files are changed).
- Recommended to run the build in watch mode as well to re-build the project before the tests are run.

```bash
npm run test:watch
```

---
_Source: https://npm.io/package/ansi-to-html · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
