Skip to content
A Ruby component to convert HTML into a plain text format.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
spec
.editorconfig
.gitignore Tweak output behaviour to match html2text PHP Feb 15, 2019
.travis.yml
CHANGELOG.md
Gemfile
Gemfile.lock
LICENSE.md Rename LICENSE file Dec 17, 2015
README.md
Rakefile
html2text.gemspec

README.md

html2text Build Status Total Downloads

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="http://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](http://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 && rspec.

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.
You can’t perform that action at this time.