# remirror

> One editing package to rule them all, one editing package to bind them.

Latest version **3.0.3** (published 2025-08-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install remirror
pnpm add remirror
yarn add remirror
bun add remirror
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 3.0.3 |
| Published | 2025-08-02 |
| First published | 2019-01-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 62 |
| Unpacked size | 1.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3036 |
| Maintainers | ifiokjr, ocavue |
| Keywords | prosemirror, react, remirror, wysiwyg, editing, text editor |

## Links

- npm: https://www.npmjs.com/package/remirror
- Repository: https://github.com/remirror/remirror
- Homepage: https://github.com/remirror/remirror/tree/HEAD/packages/remirror
- Issues: https://github.com/remirror/remirror/issues
- npm.io page: https://npm.io/package/remirror

## Dependencies (62)

- [refractor](https://npm.io/package/refractor.md) ^3.6.0
- [@remirror/dom](https://npm.io/package/@remirror/dom.md) 3.0.2
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.27.0
- [@remirror/core](https://npm.io/package/@remirror/core.md) 3.0.2
- [@remirror/icons](https://npm.io/package/@remirror/icons.md) 3.0.0
- [@remirror/theme](https://npm.io/package/@remirror/theme.md) 3.0.0
- [@types/refractor](https://npm.io/package/@types/refractor.md) ^3.0.2
- [@remirror/core-types](https://npm.io/package/@remirror/core-types.md) 3.0.0
- [@remirror/core-utils](https://npm.io/package/@remirror/core-utils.md) 3.0.0
- [@remirror/preset-core](https://npm.io/package/@remirror/preset-core.md) 3.0.2
- [@remirror/core-helpers](https://npm.io/package/@remirror/core-helpers.md) 4.0.0
- [@remirror/extension-doc](https://npm.io/package/@remirror/extension-doc.md) 3.0.2
- [@remirror/extension-sub](https://npm.io/package/@remirror/extension-sub.md) 3.0.2
- [@remirror/extension-sup](https://npm.io/package/@remirror/extension-sup.md) 3.0.2
- [@remirror/core-constants](https://npm.io/package/@remirror/core-constants.md) 3.0.0
- [@remirror/extension-bidi](https://npm.io/package/@remirror/extension-bidi.md) 3.0.2
- [@remirror/extension-bold](https://npm.io/package/@remirror/extension-bold.md) 3.0.2
- [@remirror/extension-code](https://npm.io/package/@remirror/extension-code.md) 3.0.2
- [@remirror/extension-diff](https://npm.io/package/@remirror/extension-diff.md) 3.0.2
- [@remirror/extension-find](https://npm.io/package/@remirror/extension-find.md) 1.0.2
- [@remirror/extension-link](https://npm.io/package/@remirror/extension-link.md) 3.0.2
- [@remirror/extension-list](https://npm.io/package/@remirror/extension-list.md) 3.0.2
- [@remirror/extension-text](https://npm.io/package/@remirror/extension-text.md) 3.0.2
- [@remirror/preset-wysiwyg](https://npm.io/package/@remirror/preset-wysiwyg.md) 3.0.2
- [@remirror/extension-embed](https://npm.io/package/@remirror/extension-embed.md) 3.0.2
- [@remirror/extension-emoji](https://npm.io/package/@remirror/extension-emoji.md) 3.0.2
- [@remirror/extension-image](https://npm.io/package/@remirror/extension-image.md) 3.0.2
- [@remirror/extension-events](https://npm.io/package/@remirror/extension-events.md) 3.0.2
- [@remirror/extension-italic](https://npm.io/package/@remirror/extension-italic.md) 3.0.2
- [@remirror/extension-strike](https://npm.io/package/@remirror/extension-strike.md) 3.0.2
- [@remirror/extension-tables](https://npm.io/package/@remirror/extension-tables.md) 3.0.2
- [@remirror/extension-callout](https://npm.io/package/@remirror/extension-callout.md) 3.0.2
- [@remirror/extension-columns](https://npm.io/package/@remirror/extension-columns.md) 3.0.2
- [@remirror/extension-heading](https://npm.io/package/@remirror/extension-heading.md) 3.0.2
- [@remirror/extension-history](https://npm.io/package/@remirror/extension-history.md) 3.0.2
- [@remirror/extension-mention](https://npm.io/package/@remirror/extension-mention.md) 3.0.2
- [@remirror/preset-formatting](https://npm.io/package/@remirror/preset-formatting.md) 3.0.2
- [@remirror/extension-markdown](https://npm.io/package/@remirror/extension-markdown.md) 3.0.3
- [@remirror/extension-epic-mode](https://npm.io/package/@remirror/extension-epic-mode.md) 3.0.2
- [@remirror/extension-font-size](https://npm.io/package/@remirror/extension-font-size.md) 3.0.2
- [@remirror/extension-paragraph](https://npm.io/package/@remirror/extension-paragraph.md) 3.0.2
- [@remirror/extension-shortcuts](https://npm.io/package/@remirror/extension-shortcuts.md) 3.0.2
- [@remirror/extension-text-case](https://npm.io/package/@remirror/extension-text-case.md) 3.0.2
- [@remirror/extension-underline](https://npm.io/package/@remirror/extension-underline.md) 3.0.2
- [@remirror/extension-annotation](https://npm.io/package/@remirror/extension-annotation.md) 3.0.2
- [@remirror/extension-blockquote](https://npm.io/package/@remirror/extension-blockquote.md) 3.0.2
- [@remirror/extension-code-block](https://npm.io/package/@remirror/extension-code-block.md) 3.0.2
- [@remirror/extension-gap-cursor](https://npm.io/package/@remirror/extension-gap-cursor.md) 3.0.2
- [@remirror/extension-hard-break](https://npm.io/package/@remirror/extension-hard-break.md) 3.0.2
- [@remirror/extension-positioner](https://npm.io/package/@remirror/extension-positioner.md) 3.0.2
- [@remirror/extension-text-color](https://npm.io/package/@remirror/extension-text-color.md) 3.0.2
- [@remirror/extension-whitespace](https://npm.io/package/@remirror/extension-whitespace.md) 3.0.2
- [@remirror/extension-drop-cursor](https://npm.io/package/@remirror/extension-drop-cursor.md) 3.0.2
- [@remirror/extension-font-family](https://npm.io/package/@remirror/extension-font-family.md) 3.0.2
- [@remirror/extension-placeholder](https://npm.io/package/@remirror/extension-placeholder.md) 3.0.2
- [@remirror/extension-mention-atom](https://npm.io/package/@remirror/extension-mention-atom.md) 3.0.2
- [@remirror/extension-collaboration](https://npm.io/package/@remirror/extension-collaboration.md) 3.0.2
- [@remirror/extension-trailing-node](https://npm.io/package/@remirror/extension-trailing-node.md) 3.0.2
- [@remirror/extension-text-highlight](https://npm.io/package/@remirror/extension-text-highlight.md) 3.0.2
- [@remirror/extension-horizontal-rule](https://npm.io/package/@remirror/extension-horizontal-rule.md) 3.0.2
- [@remirror/extension-node-formatting](https://npm.io/package/@remirror/extension-node-formatting.md) 3.0.2
- [@remirror/extension-entity-reference](https://npm.io/package/@remirror/extension-entity-reference.md) 3.0.2

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 3.0.3 (latest) — 2025-08-02
- 3.0.0-rc.9 (beta) — 2024-07-25
- 0.0.0-pr2271.2 (pr2271) — 2024-07-18
- 0.0.0-pr2222.1 (pr2222) — 2023-12-12
- 0.0.0-pr2223.1 (pr2223) — 2023-12-12
- 0.0.0-pr2169.2 (pr2169) — 2023-11-06
- 0.0.0-pr2166.4 (pr2166) — 2023-10-06
- 0.0.0-pr2128.4 (pr2128) — 2023-07-26
- 0.0.0-pr2118.1 (pr2118) — 2023-07-13
- 0.0.0-pr2100.1 (pr2100) — 2023-06-28
- 0.0.0-pr1966.1 (pr1966) — 2022-12-26
- 0.0.0-pr1948.1 (pr1948) — 2022-11-25
- 0.0.0-pr1942.1 (pr1942) — 2022-11-21
- 0.0.0-pr1938.1 (pr1938) — 2022-11-15
- 0.0.0-pr1922.2 (pr1922) — 2022-10-26
- … 416 more at https://npm.io/package/remirror/versions

## README

# remirror

> One package to rule them all, one entry point to bind them.

[![Version][version]][npm] [![Weekly Downloads][downloads-badge]][npm] [![Bundled size][size-badge]][size] [![Typed Codebase][typescript]](#) [![MIT License][license]](#)

[version]: https://flat.badgen.net/npm/v/remirror
[npm]: https://npmjs.com/package/remirror
[license]: https://flat.badgen.net/badge/license/MIT/purple
[size]: https://bundlephobia.com/result?p=remirror
[size-badge]: https://flat.badgen.net/bundlephobia/minzip/remirror
[typescript]: https://flat.badgen.net/badge/icon/TypeScript?icon=typescript&label
[downloads-badge]: https://badgen.net/npm/dw/remirror/red?icon=npm

## Installation

```bash
# yarn
yarn add remirror @remirror/pm

# pnpm
pnpm add remirror @remirror/pm

# npm
npm install remirror @remirror/pm
```

The `remirror` package will automatically install the `@remirror/pm` package for you. You only need to install it yourself if you'd like to ensure consistent versions of the `prosemirror-*` libraries when importing from `@remirror/pm/state` instead of `prosemirror-state` or `@remirror/pm/model` instead of `prosemirror-model`.

## Usage

Rather than installing multiple scoped packages, the `remirror` package is a gateway to using all the goodness that remirror provides while minimising your bundle size.

The following creates a controlled editor with React.

```tsx
import React from 'react';
import { SocialPreset } from 'remirror/extensions';
import { Remirror, SocialEmojiComponent, useRemirror } from '@remirror/react';

const EditorWrapper = () => {
  const socialPreset = new SocialPreset();
  const { state, onChange } = useRemirror({ extensions: () => [...socialPreset()] });

  return (
    <Remirror state={state} onChange={onChange} manager={manager} autoRender={true}>
      <SocialEmojiComponent />
    </Remirror>
  );
};
```

These are the entry points available through the `remirror` package.

- `remirror` - All the core functionality available through `@remirror/core`.
- `remirror/extensions` - All the core extensions and presets made available through the main `remirror` repository. This doesn't include any framework specific extensions and presets.
- `remirror/dom` - The dom framework implementation of via `createDomEditor`.

---
_Source: https://npm.io/package/remirror · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
