Project

html2text

0.64
A long-lived project that still receives updates
A Ruby component to convert HTML into a plain text format.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

html2text Build Gem Version

html2text is a very simple gem that uses DOM methods to convert HTML into a format similar to what would be rendered by a browser - perfect for places where you need a quick text representation. For example:

<html>
<title>Ignored Title</title>
<body>
  <h1>Hello, World!</h1>

  <p>This is some e-mail content.
  Even though it has whitespace and newlines, the e-mail converter
  will handle it correctly.

  <p>Even mismatched tags.</p>

  <div>A div</div>
  <div>Another div</div>
  <div>A div<div>within a div</div></div>

  <a href="https://foo.com">A link</a>

</body>
</html>

Will be converted into:

Hello, World!

This is some e-mail content. Even though it has whitespace and newlines, the e-mail converter will handle it correctly.

Even mismatched tags.

A div
Another div
A div
within a div

[A link](https://foo.com)

See the original blog post or the related StackOverflow answer.

Installing

Add the gem into your Gemfile and run bundle install:

gem 'html2text'

Then you can:

require 'html2text'

text = Html2Text.convert(html)

Tests

See all of the test cases defined in spec/examples/. These can be run with bundle exec rake.

License

html2text is licensed under MIT.

Other versions

  1. html2text, the original PHP implementation.
  2. actionmailer-html2text, automatically generate text parts for HTML emails sent with ActionMailer.