Skip to content

CodeView

Toggle between rich text and editable HTML source in the document area.

Setup

Start with the packages in Getting Started. This complete example registers the feature and renders its UI. In an existing editor, merge the imports and extension entries into your setup, and place the controls inside your existing RichTextProvider.

tsx
'use client';

import { EditorContent, useEditor } from '@tiptap/react';
import { Document } from '@tiptap/extension-document';
import { Paragraph } from '@tiptap/extension-paragraph';
import { Text } from '@tiptap/extension-text';
import { RichTextProvider } from 'reactjs-tiptap-editor';
import { CodeView, RichTextCodeView } from 'reactjs-tiptap-editor/codeview';
import 'reactjs-tiptap-editor/style.css';

const extensions = [Document, Paragraph, Text, CodeView];

export default function CodeViewExample() {
  const editor = useEditor({
    extensions,
    content: '<p>Try this feature here.</p>',
    immediatelyRender: false,
  });

  if (!editor) return null;

  return (
    <RichTextProvider editor={editor}>
      <RichTextCodeView />
      <EditorContent editor={editor} />
    </RichTextProvider>
  );
}

How to use

Click the toolbar button to show serialized HTML as text in the editor. Edit it, then click again to parse it back into rich text. Both transitions replace editor content and emit updates. Return to rich-text mode before saving; saving while source mode is active would store the source-text document. Unsupported markup may be removed by the active schema. This is an HTML source view, not the Code Block feature for displaying code in a document.

Source

SourceDocs

Contributors

Changelog

v1.0.0 on 12/7/2025
51948 - feat: refactor code, dynamic bubble, toolbar, fix error
v0.4.0 on 12/4/2025
6a3a7 - feat: migrate tiptap v2 to v3

Made with ❤️