diff --git a/README.md b/README.md
index 4af1a5e887..3a421f93f4 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
[![codecov][codecov-image]][codecov-url]
-
+
# Demo
diff --git a/demo/50-readme-demo.ts b/demo/50-readme-demo.ts
new file mode 100644
index 0000000000..6b1cc0ecab
--- /dev/null
+++ b/demo/50-readme-demo.ts
@@ -0,0 +1,61 @@
+// Simple example to add text to a document
+// Import from 'docx' rather than '../build' if you install from npm
+import * as fs from "fs";
+import { Document, HeadingLevel, Media, Packer, Paragraph, Table, TableCell, TableRow, VerticalAlign } from "../build";
+
+const doc = new Document();
+
+const image1 = Media.addImage(doc, fs.readFileSync("./demo/images/image1.jpeg"));
+const image2 = Media.addImage(doc, fs.readFileSync("./demo/images/pizza.gif"));
+
+const table = new Table({
+ rows: [
+ new TableRow({
+ children: [
+ new TableCell({
+ children: [new Paragraph(image1)],
+ verticalAlign: VerticalAlign.CENTER,
+ }),
+ new TableCell({
+ children: [
+ new Paragraph({
+ text: "Hello",
+ heading: HeadingLevel.HEADING_1,
+ }),
+ ],
+ verticalAlign: VerticalAlign.CENTER,
+ }),
+ ],
+ }),
+ new TableRow({
+ children: [
+ new TableCell({
+ children: [
+ new Paragraph({
+ text: "World",
+ heading: HeadingLevel.HEADING_1,
+ }),
+ ],
+ }),
+ new TableCell({
+ children: [new Paragraph(image1)],
+ }),
+ ],
+ }),
+ ],
+});
+
+doc.addSection({
+ children: [
+ new Paragraph({
+ text: "Hello World",
+ heading: HeadingLevel.HEADING_1,
+ }),
+ table,
+ new Paragraph(image2),
+ ],
+});
+
+Packer.toBuffer(doc).then((buffer) => {
+ fs.writeFileSync("My Document.docx", buffer);
+});