Professional Rich Text Editor

A highly customizable, feature-rich text editor for React applications. Built on TipTap with modern UI, dark mode support, and extensive formatting options for professional content creation.

NPM Package
React Compatible
TypeScript

Powerful Features

Everything you need for professional content creation, from basic formatting to advanced features.

Rich Text Formatting

Complete text formatting with bold, italic, underline, strikethrough, superscript, subscript, and color options.

  • Bold, Italic, Underline
  • Color Picker
  • Text Alignment

Lists & Structure

Organize content with various list types, headings, and structural elements for better readability.

  • Bullet & Numbered Lists
  • Task Lists
  • Headings & Blockquotes

Code & Syntax

Perfect for technical documentation with syntax highlighting and inline code support.

  • Syntax Highlighting
  • Multiple Languages
  • Inline Code

Advanced Tables

Create and manage complex tables with resizable columns and professional styling.

  • Resizable Columns
  • Header Rows
  • Cell Formatting

Media Support

Embed images and links seamlessly with drag-and-drop support and URL validation.

  • Image Upload & Resize
  • Link Management
  • Drag & Drop

Dark Mode Ready

Fully responsive design with built-in dark mode support for better user experience.

  • Auto Dark Mode
  • Responsive Design
  • Modern UI

Interactive Demo

Experience the editor firsthand. Try all features in this live demo environment.

Live Demo

📝 Text Formatting

Try bold, italic, underline, colors, and alignment options from the toolbar.

🔗 Links & Media

Add links and images using the toolbar buttons or keyboard shortcuts.

📊 Tables & Lists

Create structured content with tables, bullet lists, and task lists.

Quick Installation

Get started in minutes with your preferred package manager.

NPM

npm install @nishant_verma/rich-editor

Yarn

yarn add @nishant_verma/rich-editor

PNPM

pnpm add @nishant_verma/rich-editor

Basic Usage

import React, { useState } from 'react';
import { RichEditor } from '@nishant_verma/rich-editor';

function MyComponent() {
  const [content, setContent] = useState('');

  return (
    <RichEditor
      content={content}
      onUpdate={(editor) => setContent(editor.getHTML())}
      placeholder="Start writing..."
      editable={true}
    />
  );
}