{"slug": "quickjs", "name": "QuickJS", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 6, "warners": 0, "score": 3.41, "rising": 0.35, "first": "2025-11-12", "latest": "2026-10-14", "why": "providing a VM like QuickJS for running simple code could be enough (thus also cheaper)", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 3, "compare": 0, "warn": 0}, "spark": [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "providing a VM like QuickJS for running simple code could be enough (thus also cheaper)", "icon": false, "domain": null, "github_repo": null, "official_url": "https://bellard.org/quickjs/", "pricing": "", "aliases": ["QuickJS"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 801370736, "item_id": 50085671, "url": "https://news.ycombinator.com/item?id=50085671", "by": "piterrro", "date": "2026-10-14", "stance": "recommend", "quote": "providing a VM like QuickJS for running simple code could be enough (thus also cheaper)", "excerpt": "I think the whole \"runtime for AI agents\" will split into multiple categories - each chosen by the agent at run time, ideally from a single provider. I'm working on an agent harness currently and realized: The agent doesn't need a full blown Linux environment all the time - often times all it needs is maybe some custom tool/script written in python/js. Having said that, providing a VM like QuickJS for running simple ", "context": "working on an agent harness", "use_case": "lightweight agent code sandbox", "switched_from": "", "story": "Launch HN: Agent37 (YC F26) \u2013 Low-cost agent sandboxes for running agents"}, {"id": 742231425, "item_id": 46389464, "url": "https://news.ycombinator.com/item?id=46389464", "by": "tzury", "date": "2025-12-25", "stance": "recommend", "quote": "creator of QuickJS, QEMU, FFMPEG and many other brilliant and fascinating tools!", "excerpt": "Check out this: https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg&mem=192 and https://bellard.org/jslinux/ By the famous Fabrice Bellard who is the creator of QuickJS, QEMU, FFMPEG and many other brilliant and fascinating tools! https://bellard.org/", "context": "", "use_case": "", "switched_from": "", "story": "Ultimate-Linux: Userspace for Linux in Pure JavaScript"}, {"id": 742230128, "item_id": 46389383, "url": "https://news.ycombinator.com/item?id=46389383", "by": "MobiusHorizons", "date": "2025-12-25", "stance": "recommend", "quote": "Very cool. Good use of quickjs", "excerpt": "Very cool. Good use of quickjs, although it would have been cool if it somehow didn\u2019t need a libc and just used the syscall interface. Makes me want to give that a try.", "context": "", "use_case": "", "switched_from": "", "story": "Ultimate-Linux: Userspace for Linux in Pure JavaScript"}]}], "caveats": [], "who": [{"by": "piterrro", "context": "working on an agent harness", "url": "https://news.ycombinator.com/item?id=50085671", "date": "2026-10-14"}, {"by": "Borkdude", "context": "author of Choq", "url": "https://news.ycombinator.com/item?id=49230743", "date": "2026-08-09"}], "tags": [], "use_cases": ["lightweight agent code sandbox", "lightweight js runtime", "js parsing and bytecode", "external js runtime for yt-dlp"], "compared": [{"slug": "bun", "name": "Bun", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46388700", "title": "Ultimate-Linux: Userspace for Linux in Pure JavaScript", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50059096", "title": "Launch HN: Agent37 (YC F26) \u2013 Low-cost agent sandboxes for running agents", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49230590", "title": "Show HN: Choq: Cherry (ClojureScript) on QuickJS", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46779973", "title": "I built a C++ runtime with immutable objects and no GIL", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45898407", "title": "Yt-dlp: External JavaScript runtime now required for full YouTube support", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"recommend": 2}, "2026-01": {"neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 801370736, "item_id": 50085671, "url": "https://news.ycombinator.com/item?id=50085671", "by": "piterrro", "date": "2026-10-14", "stance": "recommend", "quote": "providing a VM like QuickJS for running simple code could be enough (thus also cheaper)", "excerpt": "I think the whole \"runtime for AI agents\" will split into multiple categories - each chosen by the agent at run time, ideally from a single provider. I'm working on an agent harness currently and realized: The agent doesn't need a full blown Linux environment all the time - often times all it needs is maybe some custom tool/script written in python/js. Having said that, providing a VM like QuickJS for running simple ", "context": "working on an agent harness", "use_case": "lightweight agent code sandbox", "switched_from": "", "story": "Launch HN: Agent37 (YC F26) \u2013 Low-cost agent sandboxes for running agents"}, {"id": 787691889, "item_id": 49230743, "url": "https://news.ycombinator.com/item?id=49230743", "by": "Borkdude", "date": "2026-08-09", "stance": "neutral", "quote": "Performance of QuickJS isn't as good (no JIT) but still perfectly fine for hosting personal projects on a VPS.", "excerpt": "Author here! I'd use this when you need a smaller binary than Node.js, Bun or Deno. Performance of QuickJS isn't as good (no JIT) but still perfectly fine for hosting personal projects on a VPS. With local measurements I got 30k requests/s in the server. It uses less memory in a Hono app compared to Node.js and Bun. So use this as a smaller (size and memory) lighter alternative to Node.js, I'd say with the trade-off ", "context": "author of Choq", "use_case": "lightweight JS runtime", "switched_from": "", "story": "Show HN: Choq: Cherry (ClojureScript) on QuickJS"}, {"id": 748481618, "item_id": 46780101, "url": "https://news.ycombinator.com/item?id=46780101", "by": "gamarino", "date": "2026-01-27", "stance": "neutral", "quote": "It uses QuickJS for the frontend (parsing/bytecode)", "excerpt": "Context & Technical Highlights I\u2019ve been exploring the intersection of low-level hardware constraints and high-level dynamic runtimes. The goal with ProtoCore was to build a system where concurrency isn\u2019t an afterthought, but a result of the memory model itself. Key Architectural Decisions: Immutability-First: Every core data structure is immutable by default, utilizing structural sharing to remain memory-efficient. ", "context": "", "use_case": "JS parsing and bytecode", "switched_from": "", "story": "I built a C++ runtime with immutable objects and no GIL"}, {"id": 742231425, "item_id": 46389464, "url": "https://news.ycombinator.com/item?id=46389464", "by": "tzury", "date": "2025-12-25", "stance": "recommend", "quote": "creator of QuickJS, QEMU, FFMPEG and many other brilliant and fascinating tools!", "excerpt": "Check out this: https://bellard.org/jslinux/vm.html?url=alpine-x86.cfg&mem=192 and https://bellard.org/jslinux/ By the famous Fabrice Bellard who is the creator of QuickJS, QEMU, FFMPEG and many other brilliant and fascinating tools! https://bellard.org/", "context": "", "use_case": "", "switched_from": "", "story": "Ultimate-Linux: Userspace for Linux in Pure JavaScript"}, {"id": 742230128, "item_id": 46389383, "url": "https://news.ycombinator.com/item?id=46389383", "by": "MobiusHorizons", "date": "2025-12-25", "stance": "recommend", "quote": "Very cool. Good use of quickjs", "excerpt": "Very cool. Good use of quickjs, although it would have been cool if it somehow didn\u2019t need a libc and just used the syscall interface. Makes me want to give that a try.", "context": "", "use_case": "", "switched_from": "", "story": "Ultimate-Linux: Userspace for Linux in Pure JavaScript"}, {"id": 734418592, "item_id": 45901162, "url": "https://news.ycombinator.com/item?id=45901162", "by": "Wowfunhappy", "date": "2025-11-12", "stance": "neutral", "quote": "I wonder if they got performance to a reasonable level then?", "excerpt": "> if using QuickJS, version 2025-4-26 or later is strongly recommended for performance reasons Oh, I wonder if they got performance to a reasonable level then? When the external JS requirements were first announced, they said it took upwards of half an hour, and a QuickJS developer wrote in the ticket that they didn\u2019t see a path towards improving it significantly enough.", "context": "", "use_case": "external JS runtime for yt-dlp", "switched_from": "", "story": "Yt-dlp: External JavaScript runtime now required for full YouTube support"}]}