Skip to main content
# html2text

[![Build Status](https://secure.travis-ci.org/Alir3z4/html2text.png)](http://travis-ci.org/Alir3z4/html2text)
[![Coverage Status](https://coveralls.io/repos/Alir3z4/html2text/badge.png)](https://coveralls.io/r/Alir3z4/html2text)
[![Downloads](https://pypip.in/d/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)
[![Version](https://pypip.in/v/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)
[![Egg?](https://pypip.in/egg/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)
[![Wheel?](https://pypip.in/wheel/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)
[![Format](https://pypip.in/format/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)
[![License](https://pypip.in/license/html2text/badge.png)](https://pypi.python.org/pypi/html2text/)


html2text is a Python script that converts a page of HTML into clean, easy-to-read plain ASCII text. Better yet, that ASCII also happens to be valid Markdown (a text-to-HTML format).


Usage: `html2text [(filename|url) [encoding]]`

| Option | Description
|--------------------------------------------------------|---------------------------------------------------
| `--version` | Show program's version number and exit
| `-h`, `--help` | Show this help message and exit
| `--ignore-links` | Don't include any formatting for links
|`--escape-all` | Escape all special characters. Output is less readable, but avoids corner case formatting issues.
| `--reference-links` | Use reference links instead of links to create markdown
| `--mark-code` | Mark preformatted and code blocks with [code]...[/code]

For a complete list of options see the [docs](docs/usage.md)


Or you can use it from within `Python`:

```
>>> import html2text
>>>
>>> print(html2text.html2text("<p><strong>Zed's</strong> dead baby, <em>Zed's</em> dead.</p>"))
**Zed's** dead baby, _Zed's_ dead.

```


Or with some configuration options:
```
>>> import html2text
>>>
>>> h = html2text.HTML2Text()
>>> # Ignore converting links from HTML
>>> h.ignore_links = True
>>> print h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!")
Hello, world!

>>> print(h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!"))

Hello, world!

>>> # Don't Ignore links anymore, I like links
>>> h.ignore_links = False
>>> print(h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!"))
Hello, [world](http://earth.google.com/)!

```

*Originally written by Aaron Swartz. This code is distributed under the GPLv3.*


## How to install

`html2text` is available on pypi
https://pypi.python.org/pypi/html2text

```
$ pip install html2text
```


## How to run unit tests

PYTHONPATH=$PYTHONPATH:. coverage run --source=html2text setup.py test -v

To see the coverage results:

coverage combine
coverage html

then open the `./htmlcov/index.html` file in your browser.

## Documentation

Documentation lives [here](docs/index.md)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

html2text-2016.1.8.tar.gz (43.7 kB view details)

Uploaded Source

File details

Details for the file html2text-2016.1.8.tar.gz.

File metadata

  • Download URL: html2text-2016.1.8.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for html2text-2016.1.8.tar.gz
Algorithm Hash digest
SHA256 088046f9b126761ff7e3380064d4792279766abaa5722d0dd765d011cf0bb079
MD5 a1e9b15c2ad5643c95fe790fd4a5df61
BLAKE2b-256 86c3929574259d5a21162e1d94feff5f6f6f5a955ee33f80312b17125304ea3a

See more details on using hashes here.

Release history Release notifications | RSS feed

2025.4.15

2 files

2024.2.26

1 file

2024.2.25

1 file

2020.1.16

2 files

2019.9.26

2 files

2019.8.11

2 files

2018.1.9

2 files

2017.10.4

1 file

2016.9.19

1 file

2016.5.29

1 file

2016.4.2

1 file

This release

2016.1.8 This release

1 file

2015.11.4

1 file

2015.6.21

1 file

2015.6.12

1 file

2015.6.6

1 file

2015.6.5

2015.4.14

1 file

2015.4.13

1 file

2015.2.18

1 file

2014.12.29

1 file

2014.12.24

1 file

2014.12.5

1 file

2014.9.25

1 file

2014.9.8

1 file

2014.9.7

1 file

2014.7.3

1 file

2014.4.5

1 file

3.200.3

1 file

3.200.2

1 file

3.200.1

1 file

3.200.0

1 file

3.101

1 file

3.02

1 file

3.01

1 file

3.1

1 file

2.40

2.39

2.38

1 file

2.37

1 file

2.35

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page