Smart Table Generator
If you've ever had to manually build an HTML table in a rich text editor
clicking "insert table," picking rows and columns, then typing the same
data twice because you'd already written it as a paragraph Smart Table
Generator removes that step. Select a passage of text that compares a few
things (a few pricing plans, a handful of employees, product specs,
whatever), click a button in the toolbar you already use, and get back a
real comparison table built from that text.
You do not need to learn a new admin screen, a new content type, or a new
workflow. It works from inside the same CKEditor 5 rich text editor you
use to write any Drupal page, article, or paragraph — no separate "table
builder" tool to go find.
The solution it provides: turning a table into structured
markup by hand is slow and easy to get wrong — mismatched column counts,
misaligned rows, forgetting a header. This module removes that step. It
sends your selected text to whichever AI provider your site already has
configured (via the AI (Artificial Intelligence)
module) and returns a properly structured table you can review, edit, and
insert in seconds — and because it's inserted the same way any table is,
it's genuinely editable afterward, cell by cell, not a flat image or a
block of uneditable HTML.
Features
Basic functionality: a "Table Generator" entry is added
to the "AI Assistant" dropdown in the CKEditor 5 toolbar. Select some body
text that compares a few things, choose Table Generator, click Generate, and
a table streams into an editable preview. Edit it if you like, then save it
back into the page at your cursor position.
What enabling this module adds:
- A one-click "Table Generator" action inside CKEditor 5's existing AI
tools menu — no new toolbar button, dialog system, or route to learn. - If the text format also has CKEditor 5's core Table
feature enabled, the result is a genuinely editable table widget — you can
click into any cell and edit it, add rows/columns, merge cells, exactly
like a table you built by hand. It isn't a flattened image or a static
HTML blob. - Per text format control over which AI provider/model to use, and the
underlying prompt — editable from the ordinary "Text formats and editors"
admin page. - No new permissions to reason about beyond the one
ai_ckeditor
already defines (use ai ckeditor) plus ordinary text format
access — if an editor can already use the rich text editor with AI tools
enabled, they can use this.
When and why you'd use it: anywhere you're writing
content that compares a few things and would otherwise mean hand-building a
table — pricing/plan comparisons, staff or employee directories, product
spec sheets, feature comparison charts, side-by-side option breakdowns. It's
aimed at the "I just described three options in a paragraph, now I want
that as a table" moment, not at building a large structured dataset or a
dedicated data table view.
Post-Installation
There is no separate configuration page, settings form, or new content
type — everything lives where CKEditor 5 configuration already lives.
- Make sure at least one chat-capable AI provider is configured under
Configuration > AI > AI Settings
(/admin/config/ai/settings). This is where API
keys/credentials are entered (typically via the Key module) — this module
never asks for or stores one itself. - Go to Configuration > Content authoring > Text formats
and editors (/admin/config/content/formats) and edit
a format that uses CKEditor 5 (e.g. Basic HTML or Full HTML). - Make sure the core Table button is in the active
toolbar — this is what makes the AI's response a real editable table
rather than plain markup. If it isn't there, drag it in. - If the "AI Assistant" button isn't already in the active toolbar, drag
it in from the available buttons too. - Open the CKEditor 5 plugin settings, find "Table Generator," and check
"Enabled." Choose a provider/model (or leave it on the site default), and
adjust the prompt template if you want to. Save the format. - Grant the
use ai ckeditorpermission (added by the
ai_ckeditorsubmodule) to any role that should be able to use
it — by default only the administrator role has it.
That's it — open any content form using that text format, select some
text, and "Table Generator" will be listed in the AI Assistant dropdown.
One thing worth knowing: CKEditor 5's optional border,
color, and background controls for tables (the "Table properties"/"Table
cell properties" buttons) require the text format to have "arbitrary HTML
support" enabled, which Drupal core only allows on formats with no HTML tag
restriction. That's a deliberate core security boundary, not something this
module adds — decide consciously whether a given format's authors should
have that capability before turning it on.
Additional Requirements
- AI (Artificial
Intelligence) — specifically its bundledai_ckeditor
submodule, which must be enabled (it is not enabled by default just
because the AI module is installed). This module builds entirely on
ai_ckeditor's existing CKEditor 5 toolbar, dialog, and
streaming request infrastructure rather than reimplementing any of it. - Drupal core's CKEditor
5 module, with its Table feature enabled on any
format you want a genuinely editable result on. - At least one AI Core provider submodule configured for chat, e.g.
OpenAI
Provider or Anthropic
Provider. Requests made through this module are billed according to
that provider's own plan.
Recommended modules/libraries
- Whichever AI provider
submodule matches the vendor you use — OpenAI, Anthropic, Groq, or a
self-hosted option — since this module has no preference and simply uses
whatever AI Core has configured. - Key, for storing
provider API credentials securely (typically pulled in automatically as a
dependency of the provider submodule you choose). - The other
ai_ckeditoractions — Summarize, Tone, and
Translate — and this maintainer's own
AI FAQ
Generator, which shares the exact same toolbar and
review-before-insert workflow, generating FAQ blocks instead of tables.
Similar projects
Supporting this Module
There's no Patreon, Open Collective, or similar funding link for this
module at the moment. The best way to support it is through the issue
queue: bug reports, feature requests, and patches are all welcome.
Community Documentation
The module's README covers configuration and usage in full detail. If
you put together a walkthrough video or a DrupalPod demo, please share it
in the issue queue so it can be linked here for other users.
Smart Table Generator does not talk to any AI provider directly and
never stores an API key — all of that is handled by the AI (Artificial
Intelligence) module and the provider submodule you choose. This module's
only job is deciding what to ask for and letting CKEditor 5's own Table
feature turn the answer into a real table.