LiveCharts2: The Charting Library That Finally Learned to Travel
If you've ever tried to build a chart-heavy app in .NET, you know the drill: you pick a library, get everything working on WPF, and then someone asks for a web version. Suddenly you're looking at a rewrite. That's the exact problem LiveCharts2 sets out to solve—it's the successor to the popular LiveCharts (v0), rebuilt from the ground up with cross-platform support as the core design principle, not an afterthought.
What It Does
LiveCharts2 is a data visualization library for .NET that runs on just about every platform you can think of. The README lists support for Maui, Uno Platform, WPF, WinUI, Xamarin.Forms, WindowsForms, BlazorWasm, Avalonia, Eto Forms, and UWP. That's not a typo—ten platforms, one codebase.
The architecture is worth understanding because it explains why this is possible. The original v0 was built directly on top of WPF, which meant every platform port required fighting against WPF's assumptions. LiveCharts2 decouples the core logic from any specific UI framework. The core package (LiveChartsCore) contains the charting engine, and platform-specific packages handle the rendering.
Here's the interesting part: the library uses SkiaSharp for most of its rendering, but it's not a hard dependency. The README explicitly states that Skia is a convenience, not a requirement—the architecture could theoretically move to any other drawing engine. That's a deliberate design choice that keeps the door open for future platforms.
Why It's Cool
The most compelling thing about LiveCharts2 isn't a single feature—it's the philosophy shift.
It fixes the architectural sins of v0. The README is refreshingly honest about the predecessor's flaws: "V0 is built on top of WPF, which has many limitations. WPF is not designed for the purposes of the library." That's not a small admission. It means the team acknowledged the root cause of their portability problems and redesigned from scratch rather than patching symptoms.
The "port to a new platform" story is dramatically better. When they tried to bring v0 to UWP, it required a massive effort because the architecture fought them at every turn. With v2, the README claims that bringing the library to a new platform takes "minimal effort." That's a bold statement, but the platform list backs it up—they've already proven the model works across desktop, mobile, and web.
You can use it without a UI at all. This is a sleeper feature that could be huge for you. The README mentions you can install only the core packages and use LiveCharts2 in a console app or server-side. That means you can generate chart images on a backend without spinning up a GUI. For API developers or anyone doing server-side reporting, that's a genuinely useful capability.
The flexibility isn't just about platforms—it's about rendering engines too. By not hard-coding to SkiaSharp, the library keeps its options open. It's a small detail, but it signals that the design is thinking long-term about compatibility.
How to Try It
Getting started is straightforward. Head to the official site at livecharts.dev and you'll find installation guides for your specific target platform. The site also hosts all the samples from the repo plus documentation.
The library is distributed via NuGet, with LiveChartsCore as the main package. It's currently in beta for v2.0, so you'll want to check the website for the latest version number and platform-specific package names.
If you want to see it in action before committing, there's a Blazor WASM demo you can check out—just note that it's currently optimized for desktop devices rather than mobile.
For the server-side or console use case, the docs have a specific guide on building chart images without a UI layer. You can find that at the chart-to-image sample.
The repository itself is at github.com/beto-rodriguez/livecharts2 if you want to browse the source or contribute.
Final Thoughts
LiveCharts2 is a solid bet if you're building .NET applications that might need to target more than one platform—now or in the future. It's also worth a look if you've been burned by charting libraries that paint you into a corner. The honest acknowledgment of v0's flaws and the deliberate architectural redesign show a project that learned from its mistakes. It's still in beta, so you should expect some rough edges, but the platform coverage alone makes it worth experimenting with. If you've been putting off adding charts to your cross-platform app, this might be the library that makes it feel easy.
Follow @githubprojects for more developer tools and open source projects.