> For the complete documentation index, see [llms.txt](https://thesunny.gitbook.io/slate/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thesunny.gitbook.io/slate/doc-android/slate-core/character.md).

# Character

```javascript
import { Character } from 'slate'
```

A character in a [`Text`](/slate/doc-android/slate-core/text.md) node.

Characters are how Slate associates [`Marks`](/slate/doc-android/slate-core/mark.md) with a range of text, for formatting.

## Properties

```javascript
Character({
  marks: Immutable.Set<Mark>,
  text: String
})
```

### `object`

`String`

A string with a value of `'character'`.

### `marks`

`Immutable.Set`

A set of [`Marks`](/slate/doc-android/slate-core/mark.md) attached to the character.

### `text`

`String`

The text string of the character.

## Static Methods

### `Character.create`

`Character.create(properties: Object) => Character`

Create a character from a plain Javascript object of `properties`.

### `Character.createList`

`Character.createList(array: Array) => List`

Create a list of characters from a plain Javascript `array`.

### `Character.fromJSON`

`Character.fromJSON(object: Object) => Character`

Create a character from a JSON `object`.

### `Character.isCharacter`

`Character.isCharacter(maybeCharacter: Any) => Boolean`

Returns a boolean if the passed in argument is a `Character`.

## Instance Methods

### `toJSON`

`toJSON() => Object`

Returns a JSON representation of the character.
