---
title: "Editor component, MailKaro Docs"
description: "<EmailEditor /> (the default export of react-email-craft) is the Unlayer-shaped component. Here's every prop it reads."
---

# Editor component

The editor

# Editor component

`` (the default export of `react-email-craft`) is the Unlayer-shaped component. Here's every prop it reads.

|Prop |Type |Default |Description |
|`ref` |Ref<MailkaroIframeEditorRef> |- |Imperative handle, see [Methods](https://mailkaro.com/docs/methods). |
|`token` |string |- |Publishable embed token (`pk_live_…`). The editor sends it to the API, which decides which features to enable. No/invalid/expired → free editor. |
|`options` |{ displayMode?, locale?, mergeTags?, fonts?, … } |- |Reads `displayMode`, `locale`, `mergeTags` (see [Merge tags](https://mailkaro.com/docs/merge-tags)) and `fonts` (a list or Unlayer's `{ customFonts }`). Other Unlayer options are accepted and ignored. |
|`onReady` |(unlayer) => void |- |Fires once when the editor has finished loading. |
|`onLoad` |(unlayer) => void |- |Fires once when the editor is created, before `onReady`. Calls made here are queued until it is ready. |
|`editorId` |string |- |Id of the container the editor renders into. |
|`minHeight` |string | number |500 |Minimum editor height, like react-email-editor. |
|`style` |CSSProperties |- |Applied to the container the editor fills. |
|`project` |string |"embed" |Project identifier passed to the runtime. |
|`apiBaseUrl` |string |"https://api.mailkaro.com" |Override the MailKaro API URL. Only for self-hosted/enterprise or local testing (e.g. `http://localhost:4000`). |
|`googleDrive` |boolean | object |- |Show the “Connect Google Drive” tab. See [Google Drive](https://mailkaro.com/docs/google-drive). |
|`s3` |S3PublicConfig | S3PrivateConfig |- |Show an “Amazon S3” tab. See [Amazon S3](https://mailkaro.com/docs/amazon-s3). |
|`logoUrl / logoAlt` |string |- |White-label logo in the palette footer. Takes effect only when the token grants `branding.white_label`. |

ℹ Drop-in parity props `projectId`, `appearance`, `tools` and `scriptUrl` are type-accepted so existing Unlayer code compiles, but the MailKaro editor is styled via its own [config](https://mailkaro.com/docs/configuration).

## Need lower-level control?

For a fully props-driven, non-Unlayer API (design objects, full config, snapshots), use [EmailEditor from react-email-craft](https://mailkaro.com/docs/react).

Source: https://docs.mailkaro.com/editor
