{"slug": "p5-js", "name": "p5.js", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 6, "commenters": 10, "warners": 1, "score": 5.094, "rising": -0.64, "first": "2025-12-22", "latest": "2026-10-05", "why": "P5JS makes it very easy to start playing around with.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 6, "neutral": 3, "compare": 0, "warn": 1}, "spark": [0, 1, 3, 0, 0, 1, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "P5JS makes it very easy to start playing around with.", "kind": "", "icon": true, "domain": "p5js.org", "github_repo": null, "official_url": "https://p5js.org", "pricing": "", "aliases": ["p5.js"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 799534240, "item_id": 49970890, "url": "https://news.ycombinator.com/item?id=49970890", "by": "jauntywundrkind", "date": "2026-10-05", "version": null, "stance": "recommend", "quote": "That's also going to be radically more token efficient!", "excerpt": "So much is about the tools, imo. The \"Upping my P(Doom)\" video is all p5.js. That's also going to be radically more token efficient! https://github.com/JohnHeibel/PDoomVideo https://www.youtube.com/watch?v=8j-hR4fJywU", "context": "", "use_case": "creative coding video", "switched_from": "", "story": "Gitframes"}, {"id": 763416576, "item_id": 47713536, "url": "https://news.ycombinator.com/item?id=47713536", "by": "acomjean", "date": "2026-04-09", "version": null, "stance": "recommend", "quote": "P5.js is pretty great.", "excerpt": "P5.js is pretty great. I used it create art, basically taking animal photos and using the dna sequence from that animal to recreate the photo using the 4 letters. (I did four passes using different size letters and layered in Gimp). People seem to like them, and they got into an art:science show. https://p5js.org/ Coding train has a lot of videos on using p5.js Some of them more sophisticated than the childish iconog", "context": "", "use_case": "generative art", "switched_from": "", "story": "Generative Art over the Years"}, {"id": 746213376, "item_id": 46638336, "url": "https://news.ycombinator.com/item?id=46638336", "by": "mildmelon", "date": "2026-01-15", "version": null, "stance": "recommend", "quote": "P5JS is great and I've used it in the past", "excerpt": "Author here. P5JS is great and I've used it in the past. However you can get pretty far with just VanillaJS. Here's the source code to the ASCII Clouds tool, it's almost all plain JS. https://github.com/caidanw/caidanw.github.io/blob/main/src/pages/portfolio/ascii_clouds.astro", "context": "", "use_case": "", "switched_from": "", "story": "ASCII Clouds"}, {"id": 745848224, "item_id": 46615514, "url": "https://news.ycombinator.com/item?id=46615514", "by": "cess11", "date": "2026-01-14", "version": null, "stance": "recommend", "quote": "P5JS makes it very easy to start playing around with.", "excerpt": "P5JS makes it very easy to start playing around with. https://p5js.org/reference/p5/noise/", "context": "", "use_case": "Creative coding", "switched_from": "", "story": "ASCII Clouds"}, {"id": 743236832, "item_id": 46452302, "url": "https://news.ycombinator.com/item?id=46452302", "by": "owisd", "date": "2026-01-01", "version": null, "stance": "recommend", "quote": "Personally find p5js/The Coding Train is the closest thing around to a modern equivalent.", "excerpt": "qbasic mainly using previous generation books eg https://usborne.com/gb/books/computer-and-coding-books Personally find p5js/The Coding Train is the closest thing around to a modern equivalent.", "context": "", "use_case": "Learning to code", "switched_from": "", "story": "Ask HN: How did you learn to code?"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 763446768, "item_id": 47715423, "url": "https://news.ycombinator.com/item?id=47715423", "by": "TheOtherHobbes", "date": "2026-04-10", "version": null, "stance": "warn", "quote": "the results always felt limited and brittle", "excerpt": "I spent a fair amount of time with p5 etc, but the results always felt limited and brittle. You need a lot of complexity before anything really interesting happens, and Processing lacks features like gradient fills that limit what's possible. It helped there were people like Jared Tarbell who (IMO) were way ahead of what most people were doing, and were willing to share their code. I wasn't unhappy with some of the r", "context": "", "use_case": "", "switched_from": "", "story": "Generative Art over the Years"}]}], "who": [{"by": "nsainsbury", "context": "generative artist", "url": "https://news.ycombinator.com/item?id=47713080", "date": "2026-04-09"}], "tags": [], "use_cases": ["generative art", "creative coding sketches", "creative coding video", "creative coding sketch", "creative coding", "learning to code"], "compared": [{"slug": "processing", "name": "Processing", "co": 3, "switched_from": 1, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47675906", "title": "Generative Art over the Years", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=46611507", "title": "ASCII Clouds", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49964265", "title": "Gitframes", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49333824", "title": "Sun Clock", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46452146", "title": "Ask HN: How did you learn to code?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46286906", "title": "Functional Flocking Quadtree in ClojureScript", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 1}, "2026-01": {"recommend": 3, "neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {"neutral": 1, "recommend": 1, "warn": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {"recommend": 1}}, "versions": [], "version_unnamed": 0, "quotes": [{"id": 799534240, "item_id": 49970890, "url": "https://news.ycombinator.com/item?id=49970890", "by": "jauntywundrkind", "date": "2026-10-05", "version": null, "stance": "recommend", "quote": "That's also going to be radically more token efficient!", "excerpt": "So much is about the tools, imo. The \"Upping my P(Doom)\" video is all p5.js. That's also going to be radically more token efficient! https://github.com/JohnHeibel/PDoomVideo https://www.youtube.com/watch?v=8j-hR4fJywU", "context": "", "use_case": "creative coding video", "switched_from": "", "story": "Gitframes"}, {"id": 789359552, "item_id": 49334972, "url": "https://news.ycombinator.com/item?id=49334972", "by": "rhema", "date": "2026-08-17", "version": null, "stance": "neutral", "quote": "I made this one for myself and it's pretty similar", "excerpt": "https://editor.p5js.org/rhemalinder/full/im3tyPBDW - I made this one for myself and it's pretty similar. I have this hard-coded to south dakota, but it looks like this and I made it a while ago. Same idea, except I turn it such that \"solar noon\" is at the top. Think 12 noon is really \"high noon\" or solar noon? Nope, not unless you are in the center of a timezone!", "context": "", "use_case": "creative coding sketch", "switched_from": "", "story": "Sun Clock"}, {"id": 763446768, "item_id": 47715423, "url": "https://news.ycombinator.com/item?id=47715423", "by": "TheOtherHobbes", "date": "2026-04-10", "version": null, "stance": "warn", "quote": "the results always felt limited and brittle", "excerpt": "I spent a fair amount of time with p5 etc, but the results always felt limited and brittle. You need a lot of complexity before anything really interesting happens, and Processing lacks features like gradient fills that limit what's possible. It helped there were people like Jared Tarbell who (IMO) were way ahead of what most people were doing, and were willing to share their code. I wasn't unhappy with some of the r", "context": "", "use_case": "", "switched_from": "", "story": "Generative Art over the Years"}, {"id": 763416576, "item_id": 47713536, "url": "https://news.ycombinator.com/item?id=47713536", "by": "acomjean", "date": "2026-04-09", "version": null, "stance": "recommend", "quote": "P5.js is pretty great.", "excerpt": "P5.js is pretty great. I used it create art, basically taking animal photos and using the dna sequence from that animal to recreate the photo using the 4 letters. (I did four passes using different size letters and layered in Gimp). People seem to like them, and they got into an art:science show. https://p5js.org/ Coding train has a lot of videos on using p5.js Some of them more sophisticated than the childish iconog", "context": "", "use_case": "generative art", "switched_from": "", "story": "Generative Art over the Years"}, {"id": 763409281, "item_id": 47713080, "url": "https://news.ycombinator.com/item?id=47713080", "by": "nsainsbury", "date": "2026-04-09", "version": null, "stance": "neutral", "quote": "making generative art first using Processing, then p5.js, and now mostly I create art by writing shaders", "excerpt": "Fellow generative artist here :waves: I started out in all the usual ways - inspired by Daniel Shiffman making generative art first using Processing, then p5.js, and now mostly I create art by writing shaders. Recently after being laid off from my job, I actually took my obsession further and released my very first mobile app - www.photogenesis.app - as a homage to generative art. It's an app that applies various gen", "context": "generative artist", "use_case": "generative art", "switched_from": "Processing", "story": "Generative Art over the Years"}, {"id": 746433920, "item_id": 46652120, "url": "https://news.ycombinator.com/item?id=46652120", "by": "stungeye", "date": "2026-01-16", "version": null, "stance": "neutral", "quote": "I made a p5.js ASCII Cloud sketch", "excerpt": "So cool. Thanks for sharing the source! A few years back I made a p5.js ASCII Cloud sketch using the extended ASCII block chars. For those curious what a stripped-down version of noise-based clouds would look like, it's only 50 lines of js: https://editor.p5js.org/stungeye/sketches/LPdeHgz9B", "context": "", "use_case": "creative coding sketches", "switched_from": "", "story": "ASCII Clouds"}, {"id": 746213376, "item_id": 46638336, "url": "https://news.ycombinator.com/item?id=46638336", "by": "mildmelon", "date": "2026-01-15", "version": null, "stance": "recommend", "quote": "P5JS is great and I've used it in the past", "excerpt": "Author here. P5JS is great and I've used it in the past. However you can get pretty far with just VanillaJS. Here's the source code to the ASCII Clouds tool, it's almost all plain JS. https://github.com/caidanw/caidanw.github.io/blob/main/src/pages/portfolio/ascii_clouds.astro", "context": "", "use_case": "", "switched_from": "", "story": "ASCII Clouds"}, {"id": 745848224, "item_id": 46615514, "url": "https://news.ycombinator.com/item?id=46615514", "by": "cess11", "date": "2026-01-14", "version": null, "stance": "recommend", "quote": "P5JS makes it very easy to start playing around with.", "excerpt": "P5JS makes it very easy to start playing around with. https://p5js.org/reference/p5/noise/", "context": "", "use_case": "Creative coding", "switched_from": "", "story": "ASCII Clouds"}, {"id": 743236832, "item_id": 46452302, "url": "https://news.ycombinator.com/item?id=46452302", "by": "owisd", "date": "2026-01-01", "version": null, "stance": "recommend", "quote": "Personally find p5js/The Coding Train is the closest thing around to a modern equivalent.", "excerpt": "qbasic mainly using previous generation books eg https://usborne.com/gb/books/computer-and-coding-books Personally find p5js/The Coding Train is the closest thing around to a modern equivalent.", "context": "", "use_case": "Learning to code", "switched_from": "", "story": "Ask HN: How did you learn to code?"}, {"id": 741669840, "item_id": 46354365, "url": "https://news.ycombinator.com/item?id=46354365", "by": "bazzargh", "date": "2025-12-22", "version": null, "stance": "recommend", "quote": "the p5js version makes it easy to hack on", "excerpt": "The boids in this demo form smaller flocks (both tighter, and fewer individuals) than other implementations I've seen. I had a look at the code and I'm not sure it's \"right\"? (I know the whole thing is subjective, I mean it doesn't follow the original) In no particular order: - the original boids code didn't cap the magnitude of acceleration after adding all the contributions; it added the contributions _by priority_", "context": "", "use_case": "creative coding sketches", "switched_from": "", "story": "Functional Flocking Quadtree in ClojureScript"}]}