Improve your web typography with:

  • Hyphenation — over 50 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.

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

Installation Instructions


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
Will this plu­gin slow my page load­ing times?

Yes. Use WP Super Cache.

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.

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

I’m using Advanced Custom Fields and don’t want my custom fields to be hyphenated! How can I disable that behavior?

Please install the wp-Typography Disable ACF Integration plugin by @sarukku.


Great plugin for those who care about typography

Loving typography, I truly appreciate this one. Person who made it must love the rules of typorgaphy a lot, and know that by following them, a pleasurable reading experience for the visitor is guaranteed 🙂
Plugin has great range of features and even works with Advanced Custom Fields!


I rarely leave reviews, mainly because of laziness, but this plugin is absolutely amazing, solved the “widows” problem easily, highly configurable…

A huge thank you for your work! Will certainly suggest this to every peer!

Essential plugin. Outstanding support

An essential plugin if you care about things like hyphenation. So long as you use it in conjunction with a caching plugin it’s incredibly useful.

I had a problem (which turned out to be my fault) the developer (pepe) was amazingly quick in replying and helping me fix it.

Very good!

Today I have installed the plugin wp-typography. It was very easy to adjust to my needs. All I needed was hyphenation in german and as we mark in Germany the quotations a bit different than in english spoken countries, I have changed this setting as well.

The result is perfect! The hyphenations works superb. I havent found any wrong word yet. And the quotation marks are nice! I certainly will dive a bit deeper into the settings, as there are many more possibilities to discover.

I have tested wp-typography with the plugin “P3 (Plugin Performance Profiler)”, in order to see, if it slows down my website. Result: 0 seconds! Great!

Pay attention:
If the plugin doesnt seem to work, it may interfere with another plugin. To find out:
1. turn off all plugins, 2. turn on wp-typography (Is the plugin now working?) and 3. turn on every plugin, but everytime you have switched on a plugin verify, if the typos are still being displayed correctly! If you have found the “bad guy” either remove the plugin or take a look in the forum to find a solution (need to edit functions.php).

So, all in all a wonderful plugin. But, what is a software worth for, when you cant get any support. Well, pepe the plugin-maintainer seems to sleep next to his plugin. 😉 He answered my question very fast. Impressing!

5 star recommendation!


Read all 28 reviews

Contributors & Developers

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


“wp-Typography” has been translated into 4 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.


5.0.4 – September 09, 2017

  • Bugfix: Ensure proper typing for cached language plugin lists.

5.0.3 – September 03, 2017

  • Bugfix: Lower database write load by reducing option updates (props @jerzyk).

5.0.2 – September 02, 2017

  • Bugfix: “Clear Cache” and “Restore Defaults” admin notices are now shown again.
  • Bugfix: Object caching errors don’t crash the site anymore.

5.0.1 – August 28, 2017

  • Bugfix: Fatal error on PHP 5.6.x (caused by using __METHOD__ as a variable function) fixed (mundschenk-at/php-typography 5.0.2).

5.0.0 – August 27, 2017

  • Feature: Proper multilingual support (automatic language switching). Tested with
  • Feature: Language-specific default settings.
  • Feature: Several new hooks added (including typo_settings to directly filter the settings).
  • Change: Updated to use version 5.0.1 of the new standalone composer package mundschenk-at/php-typography.
  • Change: Minimum PHP version increased to 5.6.0
  • Change: Updated list of valid top-level domains.
  • Bugfix: French punctuation spacing after links (and other inline tags) fixed.
  • Bugfix: Lone ampersands are treated as single-character words.
  • Bugfix: Hyphenated words are properly de-widowed.

4.2.2 – June 18, 2017

  • Bugfix: Properly clear cache on upgrade.
  • Change: Various internal performance improvements.

4.2.1 – June 9, 2017

  • Bugfix: Prevent crash on PHP 5.x when building the hyphenation trie.

4.2.0 – June 8, 2017

  • Feature: Prevent line-breaks in numbered abbreviations (e.g. ISO 9001).
  • Feature: Added new hook typo_php_typography_caching_enabled to disable object caching for very resource-starved environments.
  • Change: Core API refactored and minimum PHP version increased to 5.4.0.
  • Change: Updated hyphenation patterns:
    • German
    • German (Traditional)
    • Latin
    • Latin (Liturgical)
  • Change: Updated list of valid top-level domains.