{"slug": "chartgpu", "name": "ChartGPU", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 8, "warners": 2, "score": 1.506, "rising": -0.98, "first": "2026-01-21", "latest": "2026-01-29", "why": "", "why_is_quote": false, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 2, "compare": 1, "warn": 2}, "spark": [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "", "kind": "", "icon": false, "domain": null, "github_repo": "github.com/chartgpu/chartgpu", "official_url": "https://github.com/chartgpu/chartgpu", "pricing": "", "aliases": ["ChartGPU"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 747319232, "item_id": 46707452, "url": "https://news.ycombinator.com/item?id=46707452", "by": "mcintyre1994", "date": "2026-01-21", "stance": "recommend", "quote": "Very cool, I like the variety of demos!", "excerpt": "Very cool, I like the variety of demos! On the candle sticks streaming demo (https://chartgpu.github.io/ChartGPU/examples/candlestick-streaming/index.html), the 1s/5m/15m etc buttons don't seem to do anything", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747306944, "item_id": 46706684, "url": "https://news.ycombinator.com/item?id=46706684", "by": "keepamovin", "date": "2026-01-21", "stance": "recommend", "quote": "this is smooth, man. This is so cool.", "excerpt": "Wa, this is smooth, man. This is so cool. This is really sexy and cool, the examples page (https://chartgpu.github.io/ChartGPU/examples/index.html) has many good. I hope you have a way to monetize/productize this, because this has three.js potential. I love this. Keep goin! And make it safe (a way to fund, don't overextend via OSS). Good luck, bud. Also, you are a master of naming. ChartGPU is a great name, lol!", "context": "", "use_case": "charting library", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 747371360, "item_id": 46710710, "url": "https://news.ycombinator.com/item?id=46710710", "by": "kshri24", "date": "2026-01-21", "stance": "warn", "quote": "The entire library seems to be AI generated", "excerpt": "The entire library seems to be AI generated [1] [2]. Not sure how much of it was actually written by a human and how much of it was AI. [1]: https://github.com/ChartGPU/ChartGPU/blob/main/.cursor/agents/webgpu-pro.md [2]: https://github.com/ChartGPU/ChartGPU/blob/main/.claude/agents/webgpu-expert.md", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747370240, "item_id": 46710640, "url": "https://news.ycombinator.com/item?id=46710640", "by": "tempaccsoz5", "date": "2026-01-21", "stance": "warn", "quote": "Their demo for live-streamed data [0] in a line plot is surprisingly bad given how slick the rest of it seems", "excerpt": "TimeLine maintainer here. Their demo for live-streamed data [0] in a line plot is surprisingly bad given how slick the rest of it seems. For comparison, this [1] is a comparatively smooth demo of the same goal, but running entirely on the main thread and using the classic \"2d\" canvas rendering mode. [0]: https://chartgpu.github.io/ChartGPU/examples/live-streaming/index.html [1]: https://crisislab-timeline.pages.dev/e", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}]}], "who": [], "tags": [], "use_cases": ["live data charting", "charting large datasets", "charting library"], "compared": [], "makers": [{"id": 747441456, "item_id": 46715091, "url": "https://news.ycombinator.com/item?id=46715091", "by": "huntergemmer", "date": "2026-01-21", "stance": "recommend", "quote": "Achieved 104 FPS with 5M candles streaming at 20 ticks/second.", "excerpt": "Update: Pushed some improvements to the candlestick streaming demo based on feedback from this thread. You can now render up to 5 million candles. Just tested it - Achieved 104 FPS with 5M candles streaming at 20 ticks/second. Demo: https://chartgpu.github.io/ChartGPU/examples/candlestick-streaming/ Also fixed from earlier suggestions and feedback as noted before: - Data zoom slider bug has been fixed (no longer snap", "context": "", "use_case": "WebGPU charts", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747380128, "item_id": 46711258, "url": "https://news.ycombinator.com/item?id=46711258", "by": "huntergemmer", "date": "2026-01-21", "stance": "recommend", "quote": "Just shipped a fix for the data zoom slider bug that several of you reported", "excerpt": "Quick update: Just shipped a fix for the data zoom slider bug that several of you reported (thanks d--b, azangru, and others). The slider should now track the cursor correctly on macOS. If you tried the million-points demo earlier and the zoom felt off, give it another shot. This is why I love launching on HN - real feedback from people actually trying the demos. Keep it coming! :)", "context": "launched it on HN", "use_case": "WebGPU charting", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747304608, "item_id": 46706538, "url": "https://news.ycombinator.com/item?id=46706538", "by": "huntergemmer", "date": "2026-01-21", "stance": "recommend", "quote": "I built ChartGPU because I kept hitting the same wall", "excerpt": "Creator here. I built ChartGPU because I kept hitting the same wall: charting libraries that claim to be \"fast\" but choke past 100K data points. The core insight: Canvas2D is fundamentally CPU-bound. Even WebGL chart libraries still do most computation on the CPU. So I moved everything to the GPU via WebGPU: - LTTB downsampling runs as a compute shader - Hit-testing for tooltips/hover is GPU-accelerated - Rendering u", "context": "", "use_case": "charting big datasets with WebGPU", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46706528", "title": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)", "mentions": 11}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 3, "neutral": 2, "warn": 2, "compare": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 748946304, "item_id": 46809144, "url": "https://news.ycombinator.com/item?id=46809144", "by": "abtgraphics", "date": "2026-01-29", "stance": "compare", "quote": "SciChart still about an order of magnitude faster", "excerpt": "SciChart founder here, we've added ChartGPU vs. SciChart to our performance test suite - it holds up pretty well, but SciChart still about an order of magnitude faster https://github.com/ABTSoftware/javascript-chart-performance-test-suite/tree/add-chartgpu Since the API is so new there may be some errors in the test suite, feel free to correct them Innovation like this is fantastic btw and is good for the community! ", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747394384, "item_id": 46712149, "url": "https://news.ycombinator.com/item?id=46712149", "by": "samradelie", "date": "2026-01-21", "stance": "recommend", "quote": "", "excerpt": "https://github.com/ChartGPU/ChartGPU/issues/79", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747371360, "item_id": 46710710, "url": "https://news.ycombinator.com/item?id=46710710", "by": "kshri24", "date": "2026-01-21", "stance": "warn", "quote": "The entire library seems to be AI generated", "excerpt": "The entire library seems to be AI generated [1] [2]. Not sure how much of it was actually written by a human and how much of it was AI. [1]: https://github.com/ChartGPU/ChartGPU/blob/main/.cursor/agents/webgpu-pro.md [2]: https://github.com/ChartGPU/ChartGPU/blob/main/.claude/agents/webgpu-expert.md", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747370240, "item_id": 46710640, "url": "https://news.ycombinator.com/item?id=46710640", "by": "tempaccsoz5", "date": "2026-01-21", "stance": "warn", "quote": "Their demo for live-streamed data [0] in a line plot is surprisingly bad given how slick the rest of it seems", "excerpt": "TimeLine maintainer here. Their demo for live-streamed data [0] in a line plot is surprisingly bad given how slick the rest of it seems. For comparison, this [1] is a comparatively smooth demo of the same goal, but running entirely on the main thread and using the classic \"2d\" canvas rendering mode. [0]: https://chartgpu.github.io/ChartGPU/examples/live-streaming/index.html [1]: https://crisislab-timeline.pages.dev/e", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747350480, "item_id": 46709405, "url": "https://news.ycombinator.com/item?id=46709405", "by": "Mogzol", "date": "2026-01-21", "stance": "neutral", "quote": "dragging the slider at the bottom is currently kind of broken", "excerpt": "Live streaming data is one of the examples: https://chartgpu.github.io/ChartGPU/examples/live-streaming/index.html Although dragging the slider at the bottom is currently kind of broken as mentioned in another comment, seems like they are working on it though.", "context": "", "use_case": "Live data charting", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747325840, "item_id": 46707865, "url": "https://news.ycombinator.com/item?id=46707865", "by": "azangru", "date": "2026-01-21", "stance": "neutral", "quote": "there is something wrong with the slider", "excerpt": "Bug report: there is something wrong with the slider below the chart in the million-points example: https://chartgpu.github.io/ChartGPU/examples/million-points/index.html While dragging, the slider does not stay under the cursor, but instead moves by unexpected distances.", "context": "", "use_case": "Charting large datasets", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747319232, "item_id": 46707452, "url": "https://news.ycombinator.com/item?id=46707452", "by": "mcintyre1994", "date": "2026-01-21", "stance": "recommend", "quote": "Very cool, I like the variety of demos!", "excerpt": "Very cool, I like the variety of demos! On the candle sticks streaming demo (https://chartgpu.github.io/ChartGPU/examples/candlestick-streaming/index.html), the 1s/5m/15m etc buttons don't seem to do anything", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}, {"id": 747306944, "item_id": 46706684, "url": "https://news.ycombinator.com/item?id=46706684", "by": "keepamovin", "date": "2026-01-21", "stance": "recommend", "quote": "this is smooth, man. This is so cool.", "excerpt": "Wa, this is smooth, man. This is so cool. This is really sexy and cool, the examples page (https://chartgpu.github.io/ChartGPU/examples/index.html) has many good. I hope you have a way to monetize/productize this, because this has three.js potential. I love this. Keep goin! And make it safe (a way to fund, don't overextend via OSS). Good luck, bud. Also, you are a master of naming. ChartGPU is a great name, lol!", "context": "", "use_case": "charting library", "switched_from": "", "story": "Show HN: ChartGPU \u2013 WebGPU-powered charting library (1M points at 60fps)"}]}