Put an SVG <textPath> inside a <text> element and its href reference to a <path> bends that text's baseline to match the path's shape — no need to rotate and place each character by hand; the browser computes letter spacing along the curve automatically. The moving effect comes from just continuously incrementing textPath's startOffset attribute from 0% upward — the whole line of text glides along the path.
If the path is a closed shape (a circle), startOffset wrapping past 100% back to 0% loops seamlessly. That's why circular badges repeat the text past its own length ("this product is organic ✦ this product is organic ✦ …") — so the loop shows no gap as it cycles.
Where motion path is "one element traveling along a path," this is "letters becoming the shape of the path itself" as they move — the same curve reads very differently either way. On a sharply curved path, letter spacing can visibly stretch or overlap, so this works best on gentle curves — circles, soft waves.
When to use
Use it for circular logo badges, stamp-like text, and gently curved headlines. Avoid it on sharply curved paths or long body text — readability suffers.