title: Autoformatting
The {@link module:autoformat/autoformat~Auformat} feature allows you to quickly apply formatting to the content you are writing.
This feature is enabled by default in all builds. It is also included in the {@link module:presets/article~Article Article preset}.
The following block formatting options are available:
* or - followed by a space.1. or 1) followed by a space.# or ## or ### followed by a space to create a heading 1, heading 2 or heading 3 (up to heading 6 if {@link module:heading/heading~HeadingConfig#options} defines more headings).> followed by a space.The following inline formatting options are available:
**text** or __text__.*text* or _text_.Example:
{@snippet examples/classic-editor}
To add this feature to your editor install the @ckeditor/ckeditor5-autoformat package:
npm install --save @ckeditor/ckeditor5-autoformat
And add it to your plugin list:
import Autoformat from '@ckeditor/ckeditor5-autoformat/src/autoformat';
ClassicEditor
.create( {
plugins: [ Autoformat, ... ]
} )
.then( ... )
.catch( ... );
If you are using an editor build, see how to {@linkTODO customize builds}.
The {@link module:autoformat/autoformat~Auformat} feature bases on {@link module:autoformat/blockautoformatengine~BlockAuformatEngine} and {@link module:autoformat/inlineautoformatengine~InlineAuformatEngine} tools to create the autoformatters mentioned above.
You can use these tools to create your own autoformatters. Check the Autoformat feature's code as an example.
The source code of the feature is available on GitHub in https://github.com/ckeditor/ckeditor5-autoformat.