Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)
Recorded: Jan. 22, 2026, 11:03 a.m.
| Original | Summarized |
GitHub - ChartGPU/ChartGPU: Beautiful, open source, WebGPU-based charting library Skip to content Navigation Menu Toggle navigation
Sign in
Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests...
Search Clear
Search syntax tips Provide feedback Include my email address so I can be contacted Cancel Submit feedback Saved searches
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up
Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. Dismiss alert ChartGPU ChartGPU Public
Notifications
Fork
Star Beautiful, open source, WebGPU-based charting library MIT license 1.3k 30 Branches Tags Activity
Star
Notifications Code Issues Pull requests Actions Projects Security Uh oh! There was an error while loading. Please reload this page. Insights
Additional navigation options
Code Issues Pull requests Actions Projects Security Insights
ChartGPU/ChartGPU
mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History272 Commits.claude/agents.claude/agents .cursor.cursor .github.github docsdocs examplesexamples srcsrc .gitignore.gitignore CHANGELOG.mdCHANGELOG.md CLAUDE.mdCLAUDE.md CONTRIBUTING.mdCONTRIBUTING.md LICENSELICENSE README.mdREADME.md package-lock.jsonpackage-lock.json package.jsonpackage.json tsconfig.jsontsconfig.json vite.config.tsvite.config.ts View all filesRepository files navigationREADMEContributingMIT licenseSecurity High-performance charts powered by WebGPU Documentation | ChartGPU is a TypeScript charting library built on WebGPU for smooth, interactive rendering—especially when you have lots of data. 🚀 WebGPU-accelerated rendering for high FPS with large datasets Architecture flowchart TB PublicAPI --> ChartCreate["ChartGPU.create(container, options)"] subgraph ChartInstance["Chart instance (src/ChartGPU.ts)"] ChartCreate --> InstanceAPI["ChartGPUInstance APIs"] InstanceAPI --> SetOption["setOption(...)"] subgraph PublicEvents["Public events + hit-testing (ChartGPU.ts)"] DataZoomSlider["dataZoom slider UI (DOM)"] --> Coordinator subgraph WebGPUCore["WebGPU core (src/core/GPUContext.ts)"] subgraph RenderCoordinatorLayer["Render coordinator (src/core/createRenderCoordinator.ts)"] subgraph InternalOverlays["Internal interaction overlays (coordinator)"] subgraph Renderers["GPU renderers (src/renderers/*)"] subgraph Shaders["WGSL shaders (src/shaders/*)"] subgraph ChartSync["Chart sync (src/interaction/createChartSync.ts)"] InteractionX --> ListenX Loading Demo Candlestick Charts Quick start function MyChart() { Chrome 113+ or Edge 113+ (WebGPU enabled by default) Documentation Full documentation: Getting Started Examples Browse examples: examples/ npm install Contributing About Beautiful, open source, WebGPU-based charting library react open-source npm chart webgl charting-library npm-package data-visualization typescript-library data-analytics data-analysis chart-library charting webgpu react-chart-library data-visualization-tools webgpu-shaders Resources Readme MIT license Contributing Contributing Security policy Security policy Uh oh! There was an error while loading. Please reload this page. Activity Custom properties 1.3k 8 30 Report repository Releases Fixes candlestick timeframe handling in the streaming demo and updates documentation to highlight large-scale performance Latest Packages No packages published Languages TypeScript WGSL Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
ChartGPU is a TypeScript charting library built upon WebGPU, designed to deliver high-performance, interactive visualizations, particularly when dealing with substantial datasets. The library’s core strength lies in its utilization of WebGPU, a modern graphics API, enabling accelerated rendering and smooth scrolling, even with datasets containing millions of data points. This makes it a suitable choice for applications requiring real-time updates and high frame rates. The architecture of ChartGPU is meticulously structured for efficiency and scalability. At its foundation is the `ChartGPU.create()` function, which is responsible for establishing the canvas element and initiating the WebGPU context. This function then delegates the complex orchestration of rendering operations to a dedicated render coordinator. The coordinator, in turn, manages the layout, scales, data upload, and render passes, alongside internal overlays such as crosshair indicators and hover highlight effects. The library's rendering process is further refined through a collection of GPU renderers, each specialized for different chart types, including line, area, bar, scatter, pie, candlestick, and crosshair visualizations. These renderers translate data into WebGPU shaders (written in WGSL), which perform the core rendering calculations. ChartGPU features a robust set of interactive elements. It supports features such as hovering highlights, tooltips, and a crosshair indicator, which are all tied to pointer events on the canvas. A key aspect of the library’s design is its streaming data support, achieved through the `appendData()` method, which allows for real-time updates to the chart as new data streams in. This functionality is particularly valuable in applications like financial dashboards where data is constantly changing. ChartGPU provides a user-friendly API with components like `ChartGPUChart` to integrate into applications and it is available with chartgpu-react integration using NPM. The library supports a wide range of chart types, with pre-built renderers for line, area, bar, scatter, pie, candlestick, and crosshair visualizations. A prominent example is its ability to render 5 million candlestick charts at over 100 FPS with real-time updates, demonstrating its high-performance capabilities. This makes it a strong choice for financial applications where data is constantly changing. While the library functions using WebGPU, it is compatible with Chrome 113+, Edge 113+, Safari 18+, and supports newer versions of Chrome and Edge where WebGPU is enabled by default. |