Mark the words that change in a DOCX you already have. Fillwright turns them into Word's own content controls and fills them from your application. The document stays a document.
Source: AGPL-3.0-only. Open, edit and download without an account.
Experimental: creating new fields can change font formatting in the published engine. The DOCX engine has separate proprietary terms.
Opening the example document…
Open a DOCX in the studio. Select the words that change from one copy to the next and give them a name. That is the whole gesture.
Type a value and watch it land in the document while you type. What you see is the real content control, in the real file.
Copy the call. Your code fills the same fields by name. Server-generated documents are reopened and checked before download.
Fillwright uses Word-native content controls instead of a placeholder syntax. Your document contains named fields that your application can fill.
The people who own the words keep owning the file. Your code addresses fields by name.
import { fillDocx } from "@fillwright/docx/fill";
const output = await fillDocx(templateBytes, fields, {
"client.name": "Northwind Traders",
"project.description": "A design study",
"payment.terms": "Due on completion",
});
// Verified DOCX bytes. Local workspace package.
Open a DOCX, mark the fields, and fill it. No account needed.