---
title: Introduction
description: Edytor is a collaborative block editor for Svelte 5 with a plugin system, a Yjs v14 engine, and a Durable Object server.
icon: book-open
---

Edytor is a rich text editor for Svelte 5 built around blocks: paragraphs, headings, lists, to-dos, callouts, code, and any kind you define. It aims to give Svelte what Slate gives React — a small editing engine you can shape completely — with real-time collaboration built in.

```svelte title="Editor.svelte" check
<script lang="ts">
  import { Edytor } from "edytor";

  const value = {
    children: [{ type: "paragraph", content: [{ text: "Hello, world!" }] }],
  };
</script>

<Edytor {value} onChange={(next) => console.log(next)} />
```

:::note
Edytor is in early development (a `0.1.0-next` pre-release). The API is stabilizing, but expect breaking changes between releases. The pre-release is not on npm yet, and the untagged `edytor` there is the older, incompatible `0.0.11`: [Installation](/docs/getting-started) gives the tarball this site hosts.
:::

## Four ideas

**A readable block model.** A document is JSON: blocks with inline `content` (text with marks, and inline atoms) and nested `children`. The same shape goes in as `value`, comes out of `onChange`, and is what you store. See [Document model](/docs/concepts/document-model).

**Your markup, the editor's text.** Blocks, marks, and inline atoms render through Svelte snippets you write. The core owns the editable text and the selection; you own the markup around it. See [Custom blocks](/docs/customization/blocks).

**Plugins can intercept every edit.** Each edit is a command that is planned before it writes. Plugins see the command and every step it plans, and can veto it, replace it, or add their own blocks, marks, hotkeys, and UI. See [Plugins](/docs/plugins).

**Collaboration is the default.** Every editor runs on a shared CRDT document (an owned fork of Yjs v14). The same document can back several views, sync across tabs, persist offline in IndexedDB, and meet other people in a Cloudflare Durable Object room that ships with the package. See [Collaboration](/docs/collaboration).

:::tip
The editor on the [home page](/docs) is live: open it in two windows and edit together. It runs on the setup described in the [server quick start](/docs/server/quick-start).
:::

## Where to go next

**[Quick start](/docs/getting-started/quick-start)**

Build a full editor with the bundled plugins, a document and your styles.

**[The Edytor component](/docs/editor/edytor-component)**

Every prop and event of `<Edytor>`.

**[Plugins](/docs/plugins)**

Use the bundled plugins or write your own.

**[Custom blocks](/docs/customization/blocks)**

Define block kinds, marks, and inline atoms.

**[Hotkeys](/docs/customization/hotkeys)**

The default keymap, what Enter and Backspace do, and how to change them.

**[Durable Object server](/docs/server/quick-start)**

Deploy a collaboration room on Cloudflare.
