[HTML fields](🔗) in Bloomreach Content are edited with [CKEditor 4](🔗). Each CKEditor instance gets a JSON object that configures that particular editor instance.

All CKEditor configuration properties are documented in the online [CKEditor configuration reference](🔗).

### Configuration composition

The final JSON configuration object of each HTML field is determined by three things:

  1. Bloomreach Content's default JSON configuration of the [HTML field type](🔗).

    See [Default configuration of Formatted text fields](🔗) and [Default configuration of Rich text fields](🔗) at the bottom of this page.

  2. The property `ckeditor.config.overlayed.json`

    Primitive properties (like strings and numbers) and arrays in this JSON object replace properties with the same name in the default configuration. Object properties are merged recursively with object properties with the same name in the default configuration.

  3. The property `ckeditor.config.appended.json`

    Properties in this JSON object are appended to the result of the overlayed JSON object. Properties can be appended to arrays. Strings can also be appended to strings, in which case the original string and the appended one get separated by a comma. The latter is typically used to append string values to comma-separated strings. Arrays appended to existing arrays will be joined together. Use this to extend an existing array with multiple elements.

For example:

**Default configuration**



The three example configurations above will be combined into:

To debug the client-side configuration used by different editors, open the JavaScript console of your browser and inspect the `CKEDITOR.instances` object. It contains a map of all CKEditor instances in the current page. `CKEDITOR.instances.<editorId>.config` contains the JSON configuration of a particular editor.

### Default configuration for Formatted text fields

### Default configuration for Rich text fields