Bug Description
When animating streamed markdown content, only the final word at the end of a sentence/chunk is animated, along with some rich content inside (italics, bold, etc), the rest is static. This causes an unsightly and improper display of incoming streamed content, where the animated text seems randomly selected.
Steps to Reproduce
This can be seen in the online playground, and in self hosted platforms using Streamdown. Provided are steps to reproduce on the playground:
- Set to 'streaming' mode
- Set animated to 'On'
- Set to any effect, I am using 'blurIn'
- Set to a higher duration to easily visualize the issue (1000ms+).
- Clear
- Simulate stream
Expected Behavior
Words or characters (depending on animation split setting) should be animated sequentially and in order as they are received, no matter the content type.
The first word should have 0 animation delay, the second should have 1 unit of animation delay, the third should have 2 units of animation delay, and so on.
This is the functionality seen on leading chat AI platforms.
Actual Behavior
When animating streamed markdown content, only the final word at the end of a sentence/chunk is animated, along with some rich content inside (italics, bold, etc), the rest is static. This causes an unsightly and improper display of incoming streamed content, where the animated text seems randomly selected.
Code Sample
import { Streamdown } from "streamdown"
<Streamdown
animated={{ duration: 300, animation: "blurIn" }}
isAnimating={isAnimating}
>
{children}
</Streamdown>
Streamdown Version
2.3.0
React Version
19.2.3
Node.js Version
25.6.1
Browser(s)
No response
Operating System
None
Additional Context

Bug Description
When animating streamed markdown content, only the final word at the end of a sentence/chunk is animated, along with some rich content inside (italics, bold, etc), the rest is static. This causes an unsightly and improper display of incoming streamed content, where the animated text seems randomly selected.
Steps to Reproduce
This can be seen in the online playground, and in self hosted platforms using Streamdown. Provided are steps to reproduce on the playground:
Expected Behavior
Words or characters (depending on animation split setting) should be animated sequentially and in order as they are received, no matter the content type.
The first word should have 0 animation delay, the second should have 1 unit of animation delay, the third should have 2 units of animation delay, and so on.
This is the functionality seen on leading chat AI platforms.
Actual Behavior
When animating streamed markdown content, only the final word at the end of a sentence/chunk is animated, along with some rich content inside (italics, bold, etc), the rest is static. This causes an unsightly and improper display of incoming streamed content, where the animated text seems randomly selected.
Code Sample
Streamdown Version
2.3.0
React Version
19.2.3
Node.js Version
25.6.1
Browser(s)
No response
Operating System
None
Additional Context