svg element
<textPath>
The <textPath> SVG element is used to render text along the shape of a <path> element.
The text must be enclosed in the <textPath> element and its href attribute is used to reference the desired <path>.
Usage context
Attributes
href- : The URL to the path or basic shape on which to render the text. If the
pathattribute is set,hrefhas no effect. Value type: <URL>; Default value: none; Animatable: yes
- : The URL to the path or basic shape on which to render the text. If the
lengthAdjust- : Where length adjustment should be applied to the text: the space between glyphs, or both the space and the glyphs themselves.
Value type:
spacing|spacingAndGlyphs; Default value:spacing; Animatable: yes
- : Where length adjustment should be applied to the text: the space between glyphs, or both the space and the glyphs themselves.
Value type:
method- : Which method to render individual glyphs along the path.
Value type:
align|stretch; Default value:align; Animatable: yes
- : Which method to render individual glyphs along the path.
Value type:
pathExperimental- : The path on which the text should be rendered. Value type: <path_data>; Default value: none; Animatable: yes
sideExperimental- : Which side of the path the text should be rendered.
Value type:
left|right; Default value:left; Animatable: yes
- : Which side of the path the text should be rendered.
Value type:
spacing- : How space between glyphs should be handled.
Value type:
auto|exact; Default value:exact; Animatable: yes
- : How space between glyphs should be handled.
Value type:
startOffset- : How far the beginning of the text should be offset from the beginning of the path.
Value type: <length> | <percentage> | <number>; Default value:
0; Animatable: yes
- : How far the beginning of the text should be offset from the beginning of the path.
Value type: <length> | <percentage> | <number>; Default value:
textLength- : The width of the space into which the text will render. Value type: <length> | <percentage> | <number>; Default value: auto; Animatable: yes
DOM Interface
This element implements the SVGTextPathElement interface.
Example
html,
body,
svg {
height: 100%;
}
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<!-- to hide the path, it is usually wrapped in a <defs> element -->
<!-- <defs> -->
<path
id="MyPath"
fill="none"
stroke="red"
d="M10,90 Q90,90 90,45 Q90,10 50,10 Q10,10 10,40 Q10,70 45,70 Q70,70 75,50" />
<!-- </defs> -->
<text>
<textPath href="#MyPath">Quick brown fox jumps over the lazy dog.</textPath>
</text>
</svg>
Interactive exampleOpen the canonical MDN source to run this embedded demo.
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.