What ships in the Craft box: drafts, live preview, transforms, exports
Every time I evaluate a CMS I run the same mental checklist: how much of what I need is in the box, and how much is a contrib/plugin scavenger hunt? Coming from Drupal, where the answer to "does it do X" is usually "yes, with three contrib modules and a patch," Craft's out-of-the-box editor experience genuinely surprised me — mostly in its favor. With one notable gap worth naming plainly.
Drafts and live preview: first-class, per element
This is where Craft quietly out-polishes Drupal's editor UX. Drafts are first-class on every element, and the whole experience is built on them. Your first edit to a live entry silently creates a provisional draft, visible only to you — each user gets their own per element — which auto-saves as you work; then you Save (apply), Discard, or promote it to a named draft. Revisions are snapshotted on save, and restoring one also snapshots the current state first so you can't lose anything. Live Preview rides on this: a side-by-side editor available to most element types, with multiple preview targets you can configure per content type (5.2 even added preview for tabs, UI elements, and conditions, plus a dedicated Save button).
In Drupal that integrated "edit → preview → publish" loop is a contrib stack you assemble; in Craft it's just there. Two honest caveats: restoring a revision is all-or-nothing, not field-by-field, and drafts get relaxed validation — which means your templates have to tolerate missing field data, or they'll fatal on a half-finished draft during preview.
The things you'd expect to need contrib for — and don't
A quick tour of "wait, that's built in?":
- Image transforms — non-destructive, defined in the CP or inline in Twig, with crop/fit/letterbox/stretch, jpg/png/gif/webp/avif (WebP and AVIF subject to your ImageMagick), focal points honored on crop, and
asset.getSrcSet()to build a srcset (you still writesizesyourself). This is parity with Drupal's core image styles, not a win — but it's parity, in the box. - Exports — any element index exports to CSV, JSON, XML, XLSX, or YAML (XLSX and YAML added in 5.9). No module hunt.
- Editor quality-of-life — copy/paste of entries, "Read Only" badges, card-grid and inline-list views for relational fields, revisions that track which fields changed, and auto-populated asset alt text from file metadata on upload.
The one that isn't in the box: import
Content import is a plugin, and worth being accurate about: Feed Me is first-party (Pixel & Tonic), imports XML/RSS/ATOM/CSV/JSON into elements, runs through the queue, backs up the database before a run, and logs — genuinely solid. But it's a separate install, not core. That's a wash with Drupal, honestly: Drupal's Migrate API is in core, but it has no UI, so in practice you're reaching for contrib there too. Import is a plugin-or-equivalent in both worlds.
The real gap: no approval workflow
Here's the one I'd flag before you pick Craft for a certain kind of client. Craft's docs describe no built-in content-approval workflow and no default revision cap — collaboration is "saved drafts plus permissions" (view/edit/delete other users' drafts). That's fine for a small team doing edit-and-publish. It is not Drupal's core Content Moderation and Workflows, with real Draft → Published → Archived states, defined transitions, and a published revision that stays live while a draft sits as the latest. (Caveat from the Drupal side: that editorial workflow only ships pre-configured with the standard profile; other installs import it.)
Craft's editor experience is more polished out of the box than Drupal's. Drupal's governance — who can move content from draft to published, and through what gate — is more serious out of the box. Pick the one whose default matches your client's actual process.
I did not go hunting for a Craft approval-workflow plugin, so one may well exist — but the point stands that it's not core, and if your client is a regulated org with a two-person sign-off before anything goes live, that's a budget line in Craft and a checkbox in Drupal.
The verdict
This isn't "Craft wins" or "Drupal wins" — it's that their defaults optimize for different teams. If your editors want to edit, preview, and publish with the least friction, Craft is closer out of the box and the draft/preview UX is genuinely nicer. If your content has to pass through approval states and an audit of who published what, Drupal's core Workflows is the stronger starting point and Craft is where you'll be budgeting for a plugin or custom work. Match the box to the process, not to the brand.