Every option is optional. With none, you get the board toolbar, Korean UI (English when the page language is English) and the light theme.
Content and size
| Option | Default | What it does |
|---|
value | '' | Initial HTML |
placeholder | '' | Hint shown while empty |
height | 300 | Editing area height in px, or 'auto' to grow with content |
minHeight / maxHeight | - | Bounds for 'auto' |
resizable | true | Drag handle to resize |
readOnly | false | Read-only (toolbar hidden) |
maxLength | - | Character limit; the status bar turns red and a maxlength event fires |
statusbar | true | Character and byte count |
| Option | Default | What it does |
|---|
toolbar | 'board' | 'basic' | 'board' | 'full' | 'minimal', a list of items, or false. See Toolbar |
toolbarMode | 'more' | Fold overflowing buttons into a ⋯ menu ('more') or wrap ('wrap') |
toolbarSticky | true | Keep the toolbar visible while scrolling |
bubbleToolbar | true | Small floating toolbar over a selection (off on touch devices) |
theme | 'light' | 'light' | 'dark' | 'auto' |
language | page lang | 'ko' | 'en' | 'ja' | 'zh' |
locale | - | Override individual UI strings |
contentStyle | - | CSS for the editing area, so it matches your view page |
Fonts and paragraphs
| Option | Default | What it does |
|---|
fontFamilies | Malgun Gothic, Nanum Gothic, Pretendard … | Font list |
fontSizes | 8 9 10 11 12 14 16 18 20 24 28 36 | Font size list |
fontSizeUnit | 'pt' | 'pt' or 'px' |
lineHeights | 100 130 160 180 200 | Line height list (%) |
colors | built-in palette | Text and highlight palette |
Typing helpers
| Option | Default | What it does |
|---|
markdownShortcuts | true | ## , - , **bold** and friends |
slashMenu | true | Command menu on / in an empty line |
autosave | false | true or { key, interval }. Drafts are kept in the browser and offered back |
templates | - | { title, html, description? }[] |
mentions | - | { trigger: '@', search(q) } |
shortcuts | - | { keys: 'Mod+Shift+K', run(editor) }[] |
Images and paste
| Option | Default | What it does |
|---|
uploadImage | - | (file, { onProgress }) => Promise<url>. Without it images are inlined as base64 |
uploadUrl | - | Upload by URL instead; the JSON reply carries url or location |
uploadHeaders / uploadField | - / 'file' | Request headers and form field name |
imageMaxSize | - | Maximum size in bytes |
imageAccept | 'image/*' | File picker types |
pasteMode | 'clean' | 'clean' | 'plain' | 'keep' |
allowedTags / allowedAttributes | built-in allow-list | Override the sanitizer rules |
allowedIframeHosts | - | Extra iframe hosts besides the built-in video sites |
Other
| Option | Default | What it does |
|---|
plugins | - | See Plugins |
telemetry | true | Once a day, report only the domain and version to 82editor.com. false turns it off |
onChange / onReady / onFocus / onBlur | - | Event shortcuts (Events) |