PixiJS Update - v8.11.0
PixiJS v8.11.0 introduces powerful new text tools for creating advanced animations and several quality-of-life improvements. Here's what's new:
- SplitText & SplitBitmapText: Split text into lines, words, and characters for fine-grained control and advanced animations
- New
origin
Property for Containers: Rotate and scale around a defined point without affecting position replaceChild
Method: Seamlessly swap display objects while preserving transforms- BitmapText Word Breaking:
breakWords
now works withBitmapText
for better layout control - llms.txt Support: We've added official support for the
llms.txt
standard to help AI tools discover and respect PixiJS v8 content. - PixiJS Showcase: Submit your project and get featured on our new community gallery
- Sponsorship Updates: We're now live on GitHub Sponsors with new and improved sponsorship tiers
Let's dive into the details.
SplitText & SplitBitmapTextβ
This feature is experimental and may change in future releases. If you encounter any issues, please report them on our GitHub Issues page.
We all love animated text, but until now, breaking text into individual characters, words, or lines was a pain. With the new SplitText
and SplitBitmapText
classes, you can control text at any level with ease.
You can:
- Animate each segment independently using tweening libraries like GSAP.
- Define independent "anchor" points for characters, words, and lines.
- Dynamically update text or style at runtime.
- Split existing
Text
orBitmapText
.
import { SplitText } from 'pixi.js';
// Create new SplitText instance
const newSplitText = new SplitText({ text: 'Hello Pixi', style: { fontSize: 36 } });
// Split existing Text object
const myText = new Text('Hello Pixi', { fontSize: 36 });
const splitText = SplitText.from(myText);
See full examples and usage guide here.
Heads-up: When splitting characters, browser kerning is lost, so spacing may differ slightly compared to standard text. This trade-off gives you creative flexibility, but it's something to be aware of for pixel-perfect layouts.
New container.origin
Propertyβ
The new origin
property allows you to control where a container rotates or scales from, without shifting its position in the scene.
new Container({ origin: { x: 100, y: 100 } });
new Container({ origin: 50 }); // Same as { x: 50, y: 50 }
Why not use pivot
?
While pivot
changes the transform origin, it also modifies the containerβs position, making layout and animation logic more complex.
The origin
property provides a predictable, position-stable alternative for transform control.
New container.replaceChild
Methodβ
This new method allows you to swap out one display object for another within a container and the new child inherits the local transform of the old one. This means you can replace objects without losing their index, position, scale, rotation, or any other local transforms.
container.replaceChild(oldChild, newChild);
This is perfect for use cases like swapping static text with a SplitText
version for dynamic effects.
const myText = new BitmapText({
text: 'Hello Pixi',
style: {...},
scale: 2,
skew: { x: 0.1, y: 0.2 },
anchor: { x: 0.5, y: 0.5 },
});
const segmented = SplitBitmapText.from(myText);
// Use the new replaceChild method to swap text
container.replaceChild(myText, segmented);
Better Word Breaking for BitmapTextβ
The breakWords
option now works with BitmapText
. This improves layout control for projects using bitmap fonts, making it easier to manage dynamic text, labels, and UI elements.
llms.txt
Supportβ
We now officially support the llms.txt
convention to help AI tools access accurate PixiJS documentation.
We provide several documentation files for different context window sizes:
File | Description |
---|---|
/llms.txt | Index of available documentation files |
/llms-full.txt | Complete API documentation including all classes, methods, and examples |
/llms-medium.txt | Compressed documentation optimized for AI tools with medium-sized context windows |
These files are generated automatically from our TypeScript definitions and documentation sources. They update daily to ensure LLMs and AI-powered tools can reference the most accurate, up-to-date PixiJS information.
This helps coding assistants, search tools, and documentation bots provide correct suggestions and avoids outdated or incorrect information being used.
PixiJS Showcase is Liveβ
We love seeing what you build with PixiJS. The new PixiJS Showcase highlights games, websites, apps, tools, and experiments created by the community.

If you've made something cool, we'd love to show it off. Just fill out the submission form on the page. We're always amazed by the creativity of the Pixi community!
Sponsorship Updatesβ
PixiJS is now live on Github Sponsors and we've revamped our sponsorship tiers to provide more value and visibility for our supporters.
We rely on sponsorships to keep PixiJS development sustainable, and your support helps us continue improving the library, fixing bugs, and adding new features.
Sponsorship Tiersβ
Tier | Monthly | Benefits |
---|---|---|
Bronze | $100 | Logo on our website with a link to your site |
Silver | $250 | Bronze benefits plus logo in release blog posts and a sponsored link in the showcase |
Gold | $500 | Silver benefits plus logo on all documentation pages and in the GitHub README |
Gold++ | $1000 | Gold benefits plus two sponsored links in the showcase and priority bug fixes |
Platinum | $2000 | Gold++ benefits plus the most prominent logo placement, highest priority bug fixes, roadmap input |
You can find all the details on our Sponsors page.
Conclusionβ
PixiJS 8.11.0 adds subtle but powerful improvements for building interactive content, including segmented text animations, better layout tools, and improved ecosystem support.
We're excited to see what you build next, and even more excited to build PixiJS with all of you.
- See the full release notes on GitHub
- Sponsor PixiJS on GitHub
- Submit your project to the Showcase
- join the discussion on Discord
Happy creating! The PixiJS Team