DataProcessor (engine/dataprocessor)



The data processor interface. It should be implemented by actual data processors.

Each data processor implements a certain format of the data. For example, Markdown data processor will convert the data (a Markdown string) to a document fragment and back.

Note: While the CKEditor 5 architecture supports changing the data format, in most scenarios we do recommend sticking to the default format which is HTML (supported by the HtmlDataProcessor). HTML remains the best standard for rich-text data.

And please do remember – using Markdown does not automatically make your application/website secure.



  • registerRawContentMatcher( pattern )

    Registers a MatcherPattern for view elements whose content should be treated as raw data and its content should be converted to a custom property of a view element called "$rawContent" while converting to view.


    pattern : MatcherPattern

    Pattern matching all view elements whose content should be treated as plain text.

  • toData( fragment ) → *

    Converts a document fragment to data.


    fragment : DocumentFragment

    The document fragment to be processed.


  • toView( data ) → DocumentFragment

    Converts the data to a document fragment.


    data : *

    The data to be processed.


  • useFillerType( type )

    If the processor is set to use marked fillers, it will insert &nbsp; fillers wrapped in <span> elements (<span data-cke-filler="true">&nbsp;</span>) instead of regular &nbsp; characters.

    This mode allows for more precise handling of block fillers (so they do not leak into the editor content) but bloats the editor data with additional markup.

    This mode may be required by some features and will be turned on by them automatically.


    type : 'default' | 'marked'

    Whether to use the default or marked &nbsp; block fillers.