#8339·wagtail

Copy and paste (or move) StreamField blocks into different pages/fields.

Author: hpoulCreated Apr 12, 2022Updated Sep 16, 2026
Labelstype:Enhancementcomponent:Streamfieldstatus:Ready

Is your proposal related to a problem?

There is currently a "Duplicate" which allows duplicating content of a StreamField blocks into the same hierarchy. It would be nice if it was possible to "copy" a StreamField block data into another page.. Or extract it from a page into a snippet. obviously the target StreamField would have to support the same block types.

I often have the problem that a user worked on some content for a while and I later want to introduce a different nesting or extract it into a separate snippet. Right now the only solution would be to manually recreate all the content. I guess I could just extract the JSON data from the database. But it would be nice if there would be a UI.

Describe the solution you'd like

In addition to a "Duplicate" button a "Copy" button which would copy the json data from one field, and allows to paste it into a different StreamField which has the same blocks configuration.

Working on this

This requires a fair bit of UI expertise. The block chooser itself is built with React. View our contributing guidelines, add a comment to the issue once you’re ready to start.

Tasks

  • Complete feedback process in #12354
  • Final decision between modern Clipboard API and execCommand (1h)
  • Implement a first UX prototype with basic copy-paste support (3h)
  • Review overlap with client-side validation rules (block counts min/max, possibly required blocks) (1h)
  • Implement production-ready version with UX changes and SF data model (8h)
  • Release notes (TBC feature sponsor?) (1h)