w:ind (Paragraph Indentation)
Sets the left, right, and first-line (or hanging) indentation for a paragraph in twentieths of a point.
Description
w:ind controls the left, right, and first-line (or hanging) indentation of the paragraph. All distance values are in twentieths of a point (twips); 1 inch = 1440 twips. It is defined in ECMA-376 Part 1 §17.3.1.12.
First-line and hanging indentation are mutually exclusive: if both w:firstLine and w:hanging are present, the ECMA-376 standard specifies that w:firstLine takes precedence. This element appears in paragraph properties and in list level definitions (for list formatting).
Indentation can be specified in either twips (distance units) or character widths; distance-based attributes take precedence over character-width attributes when both are present.
Attributes
| Attribute | Type | Possible Values | Description |
|---|---|---|---|
w:left |
ST_SignedTwipsMeasure |
Integer in twips (e.g., 720 = 0.5 in). May be negative. |
Distance between the left margin and the left edge of the paragraph text. |
w:right |
ST_SignedTwipsMeasure |
Integer in twips. May be negative. | Distance between the right margin and the right edge of the paragraph text. |
w:firstLine |
ST_TwipsMeasure |
Non-negative integer in twips (e.g., 720 = 0.5 in). |
Additional indentation on the first line only (positive = indent in from w:left). Mutually exclusive with w:hanging. |
w:hanging |
ST_TwipsMeasure |
Non-negative integer in twips. | The first line is outdented by this amount relative to w:left (positive value). Commonly used in list formatting. Mutually exclusive with w:firstLine. |
w:leftChars |
xsd:integer |
Percentage in fiftieths of a character width (e.g., 100 = 1 character). |
Left indent in character widths; takes precedence over w:left when both present. |
w:rightChars |
xsd:integer |
Percentage in fiftieths of a character width. | Right indent in character widths; takes precedence over w:right. |
w:firstLineChars |
xsd:integer |
Percentage in fiftieths of a character width. | First-line indent in character widths; takes precedence over w:firstLine. |
w:hangingChars |
xsd:integer |
Percentage in fiftieths of a character width. | Hanging indent in character widths; takes precedence over w:hanging. |
Examples
<!-- Hanging indent (0.5 in out, 0.25 in): typical bulleted list -->
<w:pPr>
<w:ind w:left="720" w:hanging="360"/>
</w:pPr>
var pPr = new ParagraphProperties(
new Indentation { Left = "720", Hanging = "360" });
// First line at left margin (720 - 360), subsequent lines at 720
<!-- First-line indent (0.5 in): essay/report style -->
<w:pPr>
<w:ind w:left="1440" w:firstLine="720"/>
</w:pPr>
var pPr = new ParagraphProperties(
new Indentation { Left = "1440", FirstLine = "720" });
// First line at 2160 twips (1440 + 720), subsequent at 1440
<!-- Block quote: left and right indent, 1 inch each -->
<w:pPr>
<w:ind w:left="1440" w:right="1440"/>
</w:pPr>
var pPr = new ParagraphProperties(
new Indentation { Left = "1440", Right = "1440" });
Common Indentation Patterns
| Pattern | Left | FirstLine | Hanging | Use Case |
|---|---|---|---|---|
| Left indent only | 720 | — | — | Block quote |
| Hanging indent | 720 | — | 360 | Bulleted/numbered list |
| First-line indent | 1440 | 720 | — | Paragraph (essay style) |
| Double indent | 1440 | — | — | Nested quote |
Twips Conversion
| Distance | Twips | Formula |
|---|---|---|
| 0.25 in | 360 | 0.25 × 1440 |
| 0.5 in | 720 | 0.5 × 1440 |
| 0.75 in | 1080 | 0.75 × 1440 |
| 1 in | 1440 | 1 × 1440 |
| 1.5 in | 2160 | 1.5 × 1440 |
| 1 cm | ~567 | 1 cm × 567 |
| 1 pt | 20 | 1 pt × 20 |
Indentation Scenarios
Scenario 1: Bulleted List (Hanging Indent)
<w:pPr>
<w:ind w:left="720" w:hanging="360"/>
</w:pPr>
Effect: Bullet at left margin, text wraps to 0.5” from left.
Scenario 2: Block Quote (Left & Right Indent)
<w:pPr>
<w:ind w:left="1440" w:right="1440"/>
</w:pPr>
Effect: Entire paragraph indented 1” on both sides.
Scenario 3: First-Line Indent (Essay Style)
<w:pPr>
<w:ind w:left="1440" w:firstLine="720"/>
</w:pPr>
Effect: First line at 2.16”, subsequent lines at 1.44”; common in academic writing.
Scenario 4: Nested List (Multiple Levels)
<!-- Level 0 -->
<w:pPr>
<w:ind w:left="0" w:hanging="360"/>
</w:pPr>
<!-- Level 1 (nested) -->
<w:pPr>
<w:ind w:left="720" w:hanging="360"/>
</w:pPr>
<!-- Level 2 (deeply nested) -->
<w:pPr>
<w:ind w:left="1440" w:hanging="360"/>
</w:pPr>
Effect: Each nested level indents an additional 0.5”.
Notes
- Mutual Exclusivity: Only
w:firstLineORw:hanging;w:firstLinetakes precedence if both present. - Negative Values:
w:leftandw:rightcan be negative (outdent into margin); used for special effects like margin notes. - Character Width Override:
*Charsattributes override distance-based attributes when both present; character-width is resolution-independent. - Character Count Units: Fiftieths-of-character; 100 = 1 character width; allows indentation relative to font width.
- List Formatting: Hanging indent essential for proper bullet/number alignment; works with
w:numPr. - Paragraph Flow: Indentation applies all lines except where overridden by
w:firstLineorw:hanging. - Tab Stops Interaction: Indentation is independent of tab stops; both apply to layout.
- RTL Text: Indentation semantics mirror in right-to-left documents; left becomes right, etc.
- Accessibility: Indentation should reflect logical structure; use semantic list markup (
w:numPr) for lists. - Edge Case - Negative Hanging: A negative
w:hangingvalue outdents the first line past the left margin (creates “hanging” opposite effect). - Combined with Spacing: Use with
w:spacing(before/after) for complete paragraph control. - Performance: Extreme indentation values (>5”) may impact rendering; keep reasonable.
- Margin Interaction: Indentation is added to (or subtracts from) page margins.
- RTL Documents: Left/right semantics reversed in right-to-left text.
- Proportional Fonts: Character-width indentation more consistent than twips with varying fonts.
- Compatibility: All indentation types render consistently across Office versions.
- Character-based precedence: When both distance (
w:left) and character-width (w:leftChars) attributes are present, character-width takes precedence in rendering. - Lists: Hanging indentation is the standard for bulleted and numbered lists; the first line (number/bullet) sits at
w:left, body wraps atw:left + w:hanging. - Zero values: It’s valid to omit any attribute; missing attributes default to zero.
- Contextual spacing: Some styles use
w:contextualSpacingto automatically adjust indentation in certain contexts (e.g., when inside a list).