Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

animated remirror logo

A React toolkit for building cross-platform text editors, based on ProseMirror.

Motivation Β· Status Β· Documentation Β· Storybook Β· Contributing

Bundled sized of core library Continuous integration badge for automatic releases Continuous integration badge for docs deployment Project maintainability provided by CodeClimate Unit test coverage for the codebase Discord Version Sponsor


import React from 'react';
import { BoldExtension, ItalicExtension, UnderlineExtension } from 'remirror/extensions';
import { Remirror, useRemirror, OnChangeJSON } from '@remirror/react';

const extensions = () => [new BoldExtension(), new ItalicExtension(), new UnderlineExtension()];

const Editor = ({ onChange }) => {
  const { manager, state } = useRemirror({
    content: '<p>Hi <strong>Friend</strong></p>',
    stringHandler: 'html',
    selection: 'end',

  return (
    <Remirror manager={manager} initialContent={state}>
      <OnChangeJSON onChange={onChange} />

With this code snippet your editor now supports basic editing functionality.

Alternatively, take a look at our 5 minute tutorial to get up and running with an out-of-the-box WYSIWYG editor.


npm add remirror @remirror/react @remirror/pm

If you run into any issues we recommend any of the following:

  • Open an issue in our github repo.
  • Join our discord server and discuss the problem with our community.
  • Create a pull request with your proposed improvement by clicking the edit button on the relevant page.

Whatever you decide thanks for taking the time to explore the remirror project.

Our community


NEXT logo
Reflect logo

Become a sponsor!

Community spotlight

Benefex logo
Cobudget logo
eftax logo
eftax Co., Ltd.
LabKey logo
Onethread logo


View our documentation website here.


  • A11y focused and ARIA compatible.
  • I18n support via lingui.
  • Great support for mobile devices.
  • Out-of-the-box editors, or create own by composing extensions.
  • Create your own extensions for bare-metal ProseMirror integration.
  • Collaborative editing with yjs or prosemirror-collab.
  • 30+ extensions for creating fully customized editing experiences.
  • TypeScript as a first class citizen for great developer experience.

Getting Started

See our 5 minute tutorial to get started!


Please read our contribution guide for details on our code of conduct, and the process for submitting pull requests. It also outlines the project structure so you can find help when navigating your way around the codebase.


This project uses SemVer for versioning. For the versions available, see the tags on this repository.


This project is licensed under the MIT License - see the LICENSE file for details