Open In App

How to print Superscript and Subscript in Python?

Last Updated : 02 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Whenever we work with formulas, there may be a need to present them in a specific format, which may require subscripts or superscripts. In this article, we will explore how to print superscripts and subscripts in Python.

Using Unicode Character

Unicode characters allow us to easily display superscript and subscript numbers in Python. By using specific Unicode symbols, we can directly include these characters in our strings without needing additional libraries.

Python
print("a\u00b2")         # a² (super)  
print("H\u2082CO\u2083") # H₂CO₃ (sub)  

Output
a²
H₂CO₃

Explanation:

  • Unicode \u00b2 inserts the superscript 2 (2) next to the letter "a", resulting in "a2".
  • Unicode \u2082 and \u2083 insert subscript 2(2) and subscript 3 (3) next to "H" and "CO", resulting in "H2C03".

This following table gives the subscripts and superscripts of the Unicode characters:

 0123456789ABCDEF
U+207x  
U+208x₌  
U+209x   

Using str.format()

str.format() allows us to dynamically insert superscript and subscript characters into strings. By using Unicode, we can easily format expressions like formulas with special characters such as superscripts and subscripts.

Python
b = "x"        
p = "\u00b2"   # superscript 2
print("{}{}".format(b, p))  

e = "H"        
s = "\u2082"   # subscript 2
print("{}{}".format(e, s)) 

Output
x²
H₂

Explanation:

  • .format() inserts the values of b ("x") and p (superscript 2, \u00b2) into the string, resulting in "x2", where the "2" is a superscript next to "x".
  • .format() inserts the values of e ("H") and s (subscript 2, \u2082) into the string, resulting in "H2", where the "2" is a subscript next to "H".

Using f-strings

F-strings make it easy to insert superscripts and subscripts into strings. They provide a clear and efficient way to combine text and special characters.

Python
b = "x"      # base  
p = "\u00b2" # super  
print(f"{b}{p}")

e = "H"      # elem  
s = "\u2082" # sub  
print(f"{e}{s}")

Output
x²
H₂

Explanation:

  • f"{b}{p}" inserts the values of b ("x") and p (superscript 2, \u00b2), resulting in the output "x2", where "2" is a superscript next to "x".
  • f"{e}{s}" inserts the values of e ("H") and s (subscript 2, \u2082), resulting in the output "H2", where "2" is a subscript next to "H".

Related Articles:


Next Article
Article Tags :
Practice Tags :

Similar Reads