@wordpress/autop Edit

JavaScript port of WordPress’s automatic paragraph function autop and the removep reverse behavior.

Installation Installation

Install the module

npm install @wordpress/autop --save

This package assumes that your code will run in an ES2015+ environment. If you’re using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.


# autop

Replaces double line-breaks with paragraph elements.

A group of regex replaces used to identify text formatted with newlines and
replace double line-breaks with HTML paragraph tags. The remaining line-
breaks after conversion become <br /> tags, unless br is set to ‘false’.


import { autop } from '@wordpress/autop';
autop( 'my text' ); // "<p>my text</p>"


  • text string: The text which has to be formatted.
  • br boolean: Optional. If set, will convert all remaining line- breaks after paragraphing. Default true.


  • string: Text which has been converted into paragraph tags.

# removep

Replaces <p> tags with two line breaks. “Opposite” of autop().

Replaces <p> tags with two line breaks except where the <p> has attributes.
Unifies whitespace. Indents <li>, <dt> and <dd> for better readability.


import { removep } from '@wordpress/autop';
removep( '<p>my text</p>' ); // "my text"


  • html string: The content from the editor.


  • string: The content with stripped paragraph tags.

Code is Poetry.