Skip to content

Install & Configuration - Tiptap V3 | Tiptap Table Plus

This guide covers installation and configuration for Tiptap V3 (recommended).

To install the package for Tiptap V3, use npm:

Terminal window
# Install latest version (defaults to TipTap v3)
npm install tiptap-table-plus
# Or explicitly install the tiptap-v3 tag
npm install tiptap-table-plus@tiptap-v3

Note: The latest tag (default) points to the TipTap v3 compatible version. Both versions are maintained and updated with each release.

This package works with peer dependencies. For Tiptap V3, TipTap bundles table extensions into a single package:

Terminal window
npm install @tiptap/extension-table @tiptap/pm

Note: Make sure you have these peer dependencies installed as they are required for the package to function properly. The package will not work without these Tiptap extensions and ProseMirror.

For basic table functionality without pagination, import and use the WithoutPagination extension:

import { Editor } from '@tiptap/core';
import { Table, TableRow, TableCell, TableHeader } from '@tiptap/extension-table';
import { WithoutPagination } from 'tiptap-table-plus';
const { TableKitPlus } = WithoutPagination;
const editor = new Editor({
extensions: [
TableKitPlus
],
content: '<table border="1"><tr><th colspan="1" rowspan="1"><p>Name</p></th><th colspan="1" rowspan="1"><p>Region</p></th><th colspan="1" rowspan="1"><p>Country</p></th></tr><tr><td colspan="1" rowspan="1"><p>Liberty Hays</p></td><td colspan="1" rowspan="1"><p>Araucanía</p></td><td colspan="1" rowspan="1"><p>Canada</p></td></tr></table>',
});

Note for TipTap V3: TableKitPlus is a convenience extension that includes TableRowPlus, TableCellPlus, and TableHeaderPlus. You can use either TableKitPlus or import the individual extensions separately.

For pagination table support, use the TableKitPlus extension:

import { Editor } from '@tiptap/core';
import { Table, TableRow, TableCell, TableHeader } from '@tiptap/extension-table';
import { TableKitPlus } from 'tiptap-table-plus';
import { PaginationPlus } from "tiptap-pagination-plus";
const editor = new Editor({
extensions: [
TableKitPlus, // TipTap v3 only - includes TableRowPlus, TableCellPlus, TableHeaderPlus
PaginationPlus
],
content: '<table border="1"><tr><th colspan="1" rowspan="1"><p>Name</p></th><th colspan="1" rowspan="1"><p>Region</p></th><th colspan="1" rowspan="1"><p>Country</p></th></tr><tr><td colspan="1" rowspan="1"><p>Liberty Hays</p></td><td colspan="1" rowspan="1"><p>Araucanía</p></td><td colspan="1" rowspan="1"><p>Canada</p></td></tr></table>',
});
CommandParametersDefaultDescription
duplicateColumnwithContent (boolean)trueDuplicates the current column. If true, copies column content; if false, only duplicates the structure.
duplicateRowwithContent (boolean)trueDuplicates the current row. If true, copies row content; if false, only duplicates the structure.

Links:

tiptapplus.com is not an official Tiptap website and has no business affiliation with Tiptap.