ScroogeXHTML for the Java platform is a library which can convert a subset of the Rich Text Format (RTF) standard to HTML5 and XHTML, as a complete document or only a fragment which may be embedded (inserted) in other documents.

It supports conversion of hyperlinks, simple tables, picture data extraction/data URI embedding, cascading style sheet (CSS) based document minimizing, and post processing/analysis of the intermediate DOM document.

ScroogeXHTML for the Java platform is easy to use and configure. It requires no external runtime libraries besides SLF4J (Simple Logging Facade for Java) and Java 7 SE.

Online demo

The online demo converts uploaded RTF documents and displays them in your web browser. In case of unexpected conversion results, please contact Habarisoft customer support.

Release Notes

New Added support for five character encodings, including MacRoman
New Added support for non-breaking hyphen (RTF token \_)
New Improved conversion of 'Symbol' font
New As a side effect of enhanced 'Symbol' font conversion, bullet list conversion now (correctly) emits • instead of ·
Fixed Emit the HTML bullet character \u2022 or • for RTF token '\bullet' instead of &middot
New Added option to disable paragraph border conversion
New Improved algorithm for ConvertEmptyParagraphs
New Improved Unicode support for Japanese text
New Improved initialization speed of DOM tree transformation
New Improved detection of for outer table border
New Experimental support for a multilevel numbering writer
New Experimental support for uppercase and lowercase roman numbers
New Experimental support for \*\pn paragraph numbering
New ConvertFootnotes default value changed to false
New Experimental UseListTable property is deprecated, use setOutputProperty(ConversionKeys.SUPPORT_LIST_TABLE}, 'yes');
New UseListTable property default changed to false
New Removed ProgressListener properties
New Removed detection of hyperlinks based on blue/underlined text format
New Removed MetaDateAuto property
New Removed default creation of post process listeners
New Added ScroogeXHTMLMain.addDefaultListeners() method for backward compatibility
Fixed Always hide all hidden text (even if ConvertFontStyle is false)
More releases ...

Quick Facts

Technical Information

Version 7.1.0
Released 12 February 2018

Java SE 7

Dependencies Simple Logging Facade for Java (SLF4J)
Size ≈ 120 kB (Jar file)


Redistribution Free redistribution with your product in binary compiled single-user applications
Server Deployment Licenses included The price for a Developer License includes four Server Deployment Licenses. Single Developer Licenses and Server Deployment Licenses are explained here


Included Minor and major updates are included for one year after purchase


Bug reports Bugs can be reported at cases@habarisoft.com
Email support Basic technical support is included for one year after purchase (Source edition) / 30 days after purchase (Binary edition)

Registered version

Installer (Source edition) »

Installer (Jar edition) »

Need a password? Send account access inquiry

Account has expired? Account renewal inquiry

Past releases (Source edition): 6.7.0 | 7.0.0

Past releases (Jar edition): 6.7.0 | 7.0.0

Text properties
Bold/italic/underlined ✓/✓/✓
Foreground/background/highlight color ✓/✓/✓
Subscript/superscript ✓/✓
Strikethrough/hidden ✓/✓
LTR/RTL text ✓/✓
Unicode/DBCS text ✓/✓
Language attribute
Paragraph properties
Left/right/centered/justified alignment ✓/✓/✓/✓
Left/right/first line indent ✓/✓/✓
Background color
Border box
Space before/after ✓/✓
Numbered/unnumbered lists ✓/✓ ①
Tabulators replaced by a sequence of non breaking spaces
Simple tables
Table width, left margin ✓/✓
Table column width
Table column merging
Table cell background color
Other content
Hyperlink fields
Bookmark fields
Document types
XHTML 1.0 Transactional
CSS based document minimizer
Font substitution
Logging framework
SLF4J support
Java platform
Minimum version Java SE 7
Advanced features
Picture data extraction ✓ ②
Data URI image embedding ✓ ③
Post processing (XPath based)
Android platform see Base64Utils API docs
List templates (RTF listtable section)
generates <ol>/<ul>/<li> elements but result quality varies between RTF writer applications
JUnit tests
Installer and uninstaller

① uses direct text formatting, does not generate <ol>/<ul>/<li> HTML elements

② conversion of image data to a web-safe format is not included

③ the included MemoryPictureAdapterBase64 supports embedding of PNG and JPG pictures

Text conversion example generated with ScroogeXHTML 6.5

Paragraph box borders and paragraph background colors are new features in version 6.5


Table conversion

Table cell background colors are supported since version 6.6


Frequently asked questions (FAQ)


On the library home page you will find a link to the download area for registered users. The credentials (user name and password) will be sent to you when a new release is available.
A trial version download is not available. To check if the library meets your requirements, you can try the online demo or purchase a Single Developer license, which includes a 14 days full money back guarantee. This allows to test the full version of the library without any risk. The reseller (ShareIt) will give a full refund if you find that the library does not work as expected.

Picture Support

The library does not convert embedded pictures. It extracts binary picture data from the RTF document. The picture data may be in WMF, JPEG, or other formats. For small images, embedding as Data URI is possible, and - depending on the image format - no additional data conversion is required .


Yes, each developer that uses our products must have their own license.
No, the licenses are perpetual. However, you will be using the last product version released before your free upgrade period expired.
Yes! If you are a registered user, please contact Habarisoft and ask for discount coupon code.


No, the source code is not redistributable, even if you change it. Under no circumstances is it acceptable to disclose the source to any third party.

Server Deployment license

Server Deployment Licenses are required if ScroogeXHTML for the Java platform is used on the server side of a client/server application.
No. A Server Deployment license covers all applications on the server.
No. Server Deployment license are perpetual, except in the case of license violations.
No. The proof of purchase for Server Deployment licenses is your license document.




Advocate Health Care

APT Business Solutions

Becton, Dickinson and Company

Canadian Natural Resources

Denim Group




GE Medical Systems

Include Software

洁茹 牛

Mayo Foundation

Manuh Solutions

Micrologos Software Developer


NxGen Software


PENTA college

Philips Medical Systems

ProClarity Corporation

QuadraMed Corporation

상호 정

Saxos Informatica

Scherer Software


TIP Technologies

YADA Systems