Improve your web typography with:

  • Hyphenation — over 70 languages supported

  • Space control, including:

    • widow protection
    • gluing values to units
    • forced internal wrapping of long URLs & email addresses
  • Intelligent character replacement, including smart handling of:

    • quote marks
    • dashes
    • ellipses
    • trademarks, copyright & service marks
    • math symbols
    • fractions
    • ordinal suffixes
  • CSS hooks for styling:

    • ampersands,
    • uppercase words,
    • numbers,
    • initial quotes & guillemets.


  • wp-Typography "General" settings page.
  • wp-Typography "Hyphenation" settings page.
  • wp-Typography "Intelligent Character Replacement" settings page.
  • wp-Typography "Space Control" settings page.
  • wp-Typography "Add CSS Hooks" settings page.



wp-Typography has the following requirements:

  • the host server must run PHP 5.6.0 or later
  • your installation of PHP must include the mbstring extension (most do)
  • text must be encoded UTF‐8


FAQs are maintained on the wp-Typography website.

Three questions come up so frequently, we will republish their answers here:

Will this plu­gin slow my page load­ing times?

Maybe. For best performance, use a persistent object cache plugin like WP Redis.

This plugin breaks post title links. What gives?

More likely than not, your WordPress theme is using an improper function to set the title attribute of your heading’s link. It is probably using the the_title() function, which delivers the post title after filtering. It should be using the_title_attribute() which delivers the post title before filtering. Change out this function throughout your theme when it is used inside of an HTML tag, and the problem should go away.

If you are uncomfortable editing your theme’s code, you may alternatively go to the wp-Typography settings page in your admin panel and add h1 and h2 to the “Do not process the content of these HTML elements:” field. This will disable typographic processing within improperly designed page title links and page titles.

What are the privacy implications of using the plugin?

wp-Typography does not store, transmit or otherwise process personal data as such. It does cache the content of the site’s posts. If necessary, you can clear this cache from the plugin’s settings page.

Remember, many more FAQs are are addressed the wp-Typography website.


February 6, 2020
Just tried it for German. Perfect. Wenn Ihr irgendwo PayPal Spenden akzeptiert, lasst es mich wissen. Viele Grüße und vielen Dank!
January 13, 2019
This plugin helped me a lot. It is easy to use & effective and also provides several features. Thank you. Manfred
January 8, 2019
I was afraid of the slowdown mentioned in this plugin FAQ. And not tech-savvy enough to add a cache plugin to avoid this slowdown. So I tried wp-Typography anyway and didn't notice our website being slower than before. It just reads better now. 🙂 Thank you very much!
June 2, 2019
I really like how the extension and all its features work. It works accurate and the processed content looks so nice. I would want to find such plugin (extension) also for MediaWiki 🙂 Edit: Based on the advice, provided below by @pputzer, I've managed to create an alpha version of such extension for MediaWiki, which is available at https://github.com/pa4080/MWTypography. All ideas and contributions are welcome. For now, I just want to say thank you once again!
Read all 46 reviews

Contributors & Developers

“wp-Typography” is open source software. The following people have contributed to this plugin.


“wp-Typography” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “wp-Typography” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change log

5.6.1 – December 24, 2019

  • Bugfix: Some error messages were not getting translated because of a WP.org infrastructure change.
  • Bugfix: No more whitescreens when the underlying DOM parser fails.
  • Bugfix: The path for script assets is now correctly constructed when wp-Typography is used as MU plugin.

5.6.0 – July 21, 2019

  • Feature: Support for new variant of the international dash style without hair spaces for numeric intervals (i.e. 9-17 becomes 9–17 instead of 9 – 17).
  • Feature: Smart area and volume units (5m2 is transformed into 5 m²).
  • Feature: The use of narrow no-break spaces and the true Unicode hyphen can now be enabled via the GUI. Consequently, the filter hook typo_narrow_no_break_space has been deprecated.
  • Change: The HTML title handling has been reengineered, and consequently, the title variant of the typo_disable_filtering hook has been removed.
  • Change: CSS class injection for ampersands, acronyms, and intial quotes is now disabled by default.
  • Change: The smart quotes preview in the settings page should now be easier to read.
  • Change: All external PHP dependencies have been moved to the namespace WP_Typography\Vendor to reduce the chance of conflicts with other plugins.
  • Bugfix: The regular expression for cleaning user-supplied CSS no longer uses invalid syntax. This should fix any errors in PHP 7.3.

5.5.4 – March 11, 2019

  • Bugfix: Automatic language detection now also works for locales without a country code (e.g. fi).
  • Bugfix: No PHP notices are shown for missing options anymore.

5.5.3 – February 2, 2019

  • Bugfix: Custom styles containing quote characters are now output correctly.

5.5.2 – January 29, 2019

  • Bugfix: To prevent common false positives for single-letter Roman ordinals (especially in French and Dutch), Roman numeral matching now has to be explicitly enabled in the settings. In addition, only I, V, and X are accepted as single-letter Roman numbers.

5.5.1 – January 27, 2019

  • Bugfix: Parts of hyphenated words should not be detected as Roman numerals anymore.
  • Bugfix: The Unicode hyphen character (‐) is recognized as a valid word combiner.

5.5.0 – January 27, 2019

  • Feature: French (1ère) and “Latin” (1o) ordinal numbers are now supported by the smart ordinals feature (also with Roman numerals, e.g. XIXème).
  • Feature: The list of smart quotes exceptions (words beginning with apostrophes) can now be customized.
  • Feature: HTML5 parser performance hugely improved (up to 11× faster).
  • Bugfix: Output filtering is now suspended during WP-CLI commands.
  • Bugfix: Unit spacing is now properly applied to monetary symbols ($, €, etc.).
  • Bugfix: Certain HTML entities (e.g. &) were accidentally dropped in rare cases.
  • Bugfix: Comply with the new WordPress Coding Standards 2.0.