Unicode Based No Signup Free to Use

Markdown has no native subscript

Two working methods: On GitHub, write H<sub>2</sub>O and x<sup>2</sup>. Everywhere HTML is stripped, paste Unicode H₂O and x² from the free paste tool or superscript generator.

Subscript in Markdown has no native token. Plain Markdown (see Markdown Guide, Basic Syntax) has no _2 subscript syntax; unicode copy paste fills the gap when HTML tags are stripped.

Paste-break: HTML <sub> tags from Word or Docs often paste as literal text in Markdown editors. Unicode H₂O from a Unicode paste tool survives because it is a real character, not markup.

Need H₂O that survives any renderer?

Copy Unicode subscript. Paste into README, Discord, or Canva.

Open Subscript Generator

How to write subscript in Markdown with HTML

GitHub Flavored Markdown allows a short list of HTML tags, including <sub> and <sup>:

  • Water: H<sub>2</sub>O → H2O
  • Squared: x<sup>2</sup> → x2
  • Footnote marker: note<sup>1</sup>

This is the cleanest option in a README, issue, or GitHub wiki. It stays editable as normal ASCII in the source file.

Unicode copy paste for Markdown subscript

Many chat apps, some static-site pipelines, and Discord strip HTML. Then the tags show as literal <sub>. Paste characters instead:

  1. Generate H₂O or x² with the matching tool.
  2. Paste into the .md file or the chat box.
Side by side: GitHub HTML sub tags versus Unicode H2O and x squared
Tags on GitHub. Unicode when the host strips HTML.

Markdown subscript and superscript cheatsheet

PlaceUseExample
GitHub READMEHTML tagsH<sub>2</sub>O
Discord / many chatsUnicode pasteH₂O · x² · ʰᵉˡˡᵒ
Reddit (new)Often Unicode; HTML variesPaste H₂O
ObsidianHTML in reading view, or UnicodeSame tags or paste
Overleaf / LaTeXMath mode, not MarkdownH_2O inside $...$

Which renderers pass Unicode subscript vs strip it: GitHub, GitLab, and Obsidian reading view render both <sub> tags and pasted Unicode H₂O. Discord, Slack, and many static-site sanitizers strip HTML but keep Unicode subscript in the message. Jekyll or Hugo with aggressive HTML filtering may remove tags entirely, so test one line before publishing a README with chemistry formulas.

Markdown small text (not subscript)

Tiny aesthetic letters (ʰᵉˡˡᵒ) are not Markdown syntax and not chemistry subscript. There is no <small> you can rely on in GitHub READMEs for that look. Generate them with the small text generator and paste. For Discord-only steps, see how to make small text in Discord.

Markdown vs LaTeX (Overleaf)

If you are in Overleaf, you are not in Markdown. Write $H_2O$ and $x^2$ in math mode. Do not mix that syntax into a GitHub README unless the repo uses a math renderer. This page stays on Markdown on purpose so it does not compete with a future LaTeX guide.

FAQ: Markdown subscript

Is ~2~ subscript in Markdown?

No. On GitHub, single tildes are not a subscript API. Double tildes are strikethrough.

How do I write superscript in Markdown?

x<sup>2</sup> on GitHub, or paste x². Definition of superscript: what is superscript.

Will Unicode break my Git diff?

It is still one character per glyph. Diffs stay readable. Prefer HTML tags in a repo if teammates edit formulas often.

Pick HTML tags on GitHub or unicode copy paste elsewhere. That is the reliable split for subscript in Markdown across renderers.

Paste Unicode when Markdown tags fail

Free subscript and superscript generators. No signup.

Open Subscript Generator