Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Working with Titles and Heading – Python docx Module

  • Last Updated : 03 Jan, 2021

Prerequisites: docx

Word documents contain formatted text wrapped within three object levels. The Lowest level- run objects, middle level- paragraph objects and highest level- document object. So, we cannot work with these documents using normal text editors. But, we can manipulate these word documents in python using the python-docx module. 

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Python docx module allows user to manipulate docs by either manipulating the existing one or creating a new empty document and manipulating it. It is a powerful tool as it helps you to manipulate the document to a very large extend. To add a title or heading we will use the inbuilt .add_heading() method of the document object.

Syntax: doc.add_heading(String s, level)


  • String s: It is the string data that is to be added as a heading or a title.
  • level: It is an integer number in the range 0-9. It raises ValueError if any value other than from this range is given as input.

When the level is set to 0, the string is printed as the title of the document. For all other values it prints a heading. The size of heading decreases as the level increases. If no level is set, by default its value is always 1.


Pip command to install this module is:

pip install python-docx


  • Import module
  • Declare docx object
  • Use add_heading() with appropriate parameters to add heading
  • Save doc file.



# Import docx NOT python-docx
import docx
# Create an instance of a word document
doc = docx.Document()
# Add a heading of level 0 (Also called Title)
doc.add_heading('Title for the document', 0)
# Add a heading of level 1
doc.add_heading('Heading level 1', 1)
# Add a heading of level 2
doc.add_heading('Heading level 2', 2)
# Add a heading of level 3
doc.add_heading('Heading level 3', 3)
# Add a heading of level 4
doc.add_heading('Heading level 4', 4)
# Add a heading of level 5
doc.add_heading('Heading level 5', 5)
# Add a heading of level 6
doc.add_heading('Heading level 6', 6)
# Add a heading of level 7
doc.add_heading('Heading level 7', 7)
# Add a heading of level 8
doc.add_heading('Heading level 8', 8)
# Add a heading of level 9
doc.add_heading('Heading level 9', 9)
# Now save the document to a location'gfg.docx')


Document gfg.docx

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!