Word to Hugo Blog Workflow
Purpose
The purpose of this guide is to make your blog publishing workflow simpler:
- write in Word as usual
- export the document to Markdown
- keep images with the post using a Hugo page bundle
- avoid manual renaming or relinking of images
Step-by-step workflow
1. Create a new post folder
In your Hugo site, create a new folder for the post under content/blog/.
1mkdir -p content/blog/my-word-post
2. Save your Word file as .docx
Save the Word document from Microsoft Word as a .docx file. For example:
my-word-post.docx
3. Convert Word to Markdown with Pandoc
Use Pandoc to convert the .docx file to Markdown and extract images automatically.
1pandoc -f docx -t markdown --extract-media=. -o content/blog/my-word-post/index.md my-word-post.docx
This command does three things:
- reads
my-word-post.docx - writes Markdown to
content/blog/my-word-post/index.md - extracts embedded images into a
media/folder inside the current directory
4. Move the Markdown and images into the page bundle
If Pandoc created a media/ folder beside index.md, move or keep it inside the post folder.
Your structure should look like this:
1content/blog/my-word-post/
2 index.md
3 media/
4 image1.png
5 image2.png
5. Add or update front matter in index.md
Make sure the top of content/blog/my-word-post/index.md contains Hugo front matter, for example:
1---
2title: "My Word Post"
3date: 2026-04-16
4draft: false
5categories: ["writeup"]
6tags: ["hugo","word","pandoc"]
7---
If Pandoc did not include front matter, add it manually.
6. Check the image references
Pandoc should generate image links automatically, like this:
1
If the image paths are already correct, you do not need to rename the files.
7. Preview the post locally
Run Hugo to preview the site and confirm the new post renders correctly.
1hugo server -D
Open the local URL shown in the terminal and verify the post content and images.
Why this is easier
This method is easier because it avoids manual image labeling after export:
- Pandoc extracts images automatically
- image links are inserted into Markdown for you
- the page bundle keeps everything together
- you can continue writing in Word without changing your workflow
Optional tip
If you want a cleaner image folder name, move media/ into the page bundle and use the same location for the Markdown file:
1mv media content/blog/my-word-post/
Then the full structure stays self-contained inside content/blog/my-word-post/.