<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u" -->

---
title: When you just need to build a tiny desktop app: TinyJS
description: TinyJS is a new JavaScript runtime by Tarwin Stroh-Spijer for building tiny desktop apps (often under 6MB) for macOS, Linux, and Windows, using each OS's...
canonical: https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: When you just need to build a tiny desktop app: TinyJS | daily.dev
og:description: TinyJS is a new JavaScript runtime by Tarwin Stroh-Spijer for building tiny desktop apps (often under 6MB) for macOS, Linux, and Windows, using each OS's...
og:url: https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u
og:image: https://api.daily.dev/og/posts/rOq2jbA7U.png
og:image:alt: When you just need to build a tiny desktop app: TinyJS
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# When you just need to build a tiny desktop app: TinyJS

**[DEVCLASS](https://daily.dev/sources/devclass)** · 5 min read · 81 upvotes · 16 comments

## Summary

TinyJS is a new JavaScript runtime by Tarwin Stroh-Spijer for building tiny desktop apps (often under 6MB) for macOS, Linux, and Windows, using each OS's native WebView instead of bundling a browser engine like Electron does. Built on txiki.js (a compact JS runtime by Saúl Ibarra Corretgé), TinyJS apps are coded in plain JavaScript, HTML, and CSS with no compilation step, and can optionally use frameworks like React, Vue, or Svelte without requiring Node.js. It's positioned against Electron (which can balloon to 150MB per app) and Tauri (which requires Rust). Stroh-Spijer built an app store with 25 sample apps, including a Winamp clone at 7.4MB, a world clock, and a markdown editor, though some apps were buggy on Windows during testing.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.devclass.com/development/2026/10/13/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs/5302508>

## Questions this post answers

### What is TinyJS and how does it make desktop apps so small?

TinyJS is a JavaScript runtime by Tarwin Stroh-Spijer for building desktop apps as small as 6MB or less on macOS, Linux, and Windows. It achieves this by using each OS's native WebView (WebKit on macOS, WebView2 on Windows, WebKitGTK on Linux) instead of bundling a browser engine, and is built on the ultra-compact txiki.js runtime, whose starter package is about 5.6MB.

_Developers choosing a lightweight alternative to Electron can follow runtime comparisons like this on daily.dev._

### How does TinyJS compare to Electron and Tauri for building desktop apps?

TinyJS apps can be far smaller than Electron apps, which can weigh 150MB even for basic applications because Electron bundles a Chromium core for cross-platform visual consistency. Compared to Tauri, which can deliver 10MB apps but requires writing in Rust and importing plugins individually for OS features like dialogs and menus, TinyJS lets developers code entirely in JavaScript, HTML, and CSS while handing more native OS substrate directly to the app.

_Weighing Electron versus Tauri versus TinyJS is easier when tracking framework trade-offs on daily.dev._

### Does TinyJS require Node.js or a build step to run apps?

No, TinyJS does not require Node.js as a dependency unless a developer chooses to use a framework like Vite that needs it. All coding is done in plain JavaScript, CSS, and HTML with no compiling necessary, though it can also support frameworks like React, Vue, and Svelte, or run with no dependencies at all.

_Developers evaluating minimal-dependency tooling can keep track of frameworks like this via daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@dignity31** · 6 upvotes

> ![GIF](https://static.klipy.com/ii/2711dd8a75a85be822d136ec94899b3f/5c/bc/9TAu5W2N.gif)

**@jpdelatorre** · 5 upvotes

> Nice idea. But using the system's webview can be unreliable.

**@tarwinstrohspijer** · 3 upvotes

> Thanks for the shoutout.

**@swarnasharmin** · 3 upvotes

> Building ultra-lightweight desktop apps using native OS webviews without the Rust dependency is a brilliant sweet spot.

**@jasonchuh** · 2 upvotes

> JS on desktop is my favourite.

## Similar posts on daily.dev

- [Issue \#803: JavaScript desktop apps in under 10MB — JavaScript Weekly](https://daily.dev/posts/issue-803-javascript-desktop-apps-in-under-10mb-javascript-weekly-pypzvc0cg) · JavaScript Weekly · 6 upvotes · 1 comments
- [Electron vs. Tauri](https://daily.dev/posts/electron-vs-tauri-24hpt0fb7) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript), [#electron](https://daily.dev/tags/electron), [#tauri](https://daily.dev/tags/tauri)

[View this post on daily.dev](https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"When you just need to build a tiny desktop app: TinyJS","url":"https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u"},"datePublished":"2026-10-13T08:12:40.548Z","dateModified":"2026-10-13T08:23:22.657Z","description":"TinyJS is a new JavaScript runtime by Tarwin Stroh-Spijer for building tiny desktop apps (often under 6MB) for macOS, Linux, and Windows, using each OS's...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a13d983ce49ad6b07365202a0a638e58?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a13d983ce49ad6b07365202a0a638e58?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DEVCLASS","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DEVCLASS","logo":"https://media.daily.dev/image/upload/s--quq5_zKP--/f_auto/v1732552064/logos/devclass","url":"https://daily.dev/sources/devclass"},"commentCount":16,"discussionUrl":"https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":80},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":16}],"keywords":"javascript,electron,tauri","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DEVCLASS","item":"https://daily.dev/sources/devclass"},{"@type":"ListItem","position":3,"name":"When you just need to build a tiny desktop app: TinyJS"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u","comment":[{"@type":"Comment","text":"","datePublished":"2026-10-14T00:44:08.128Z","url":"https://daily.dev/posts/rOq2jbA7U#c-AkXM9YVub","author":{"@type":"Person","name":"Dignity","url":"https://daily.dev/dignity31","image":"https://media.daily.dev/image/upload/s--xbFCRIaC--/f_auto/v1789511341/avatars/avatar_27xFR2iYDQ2YHngeEMexT?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":6}},{"@type":"Comment","text":"Nice idea. But using the system’s webview can be unreliable.","datePublished":"2026-10-14T03:11:35.602Z","url":"https://daily.dev/posts/rOq2jbA7U#c-YRrEyQGMO","author":{"@type":"Person","name":"JP de la Torre","url":"https://daily.dev/jpdelatorre","image":"https://media.daily.dev/image/upload/s--vMLSF3-1--/f_auto/v1787723050/avatars/avatar_0fMQQvxSIIVibBvP847Xo?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5}},{"@type":"Comment","text":"Thanks for the shoutout.","datePublished":"2026-10-14T05:10:16.370Z","url":"https://daily.dev/posts/rOq2jbA7U#c-pv9I5CuQf","author":{"@type":"Person","name":"Tarwin Stroh-Spijer","url":"https://daily.dev/tarwinstrohspijer","image":"https://lh3.googleusercontent.com/a/ACg8ocIW8hfYgka_Yc0o8L4_ucWOHgSeAzKEB1paB_PYhTY4vkbxLwQzkQ=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"Building ultra-lightweight desktop apps using native OS webviews without the Rust dependency is a brilliant sweet spot.","datePublished":"2026-10-14T07:30:08.737Z","url":"https://daily.dev/posts/rOq2jbA7U#c-4hzJ1RrE4","author":{"@type":"Person","name":"Swarna Sharmin","url":"https://daily.dev/swarnasharmin","image":"https://media.daily.dev/image/upload/s--joHEq_jD--/f_auto/v1791022797/avatars/avatar_ZL6bebyCVkszL2cr0g8ab?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"JS on desktop is my favourite.","datePublished":"2026-10-14T01:38:44.537Z","url":"https://daily.dev/posts/rOq2jbA7U#c-d26rzuBBH","author":{"@type":"Person","name":"Jason Chuh","url":"https://daily.dev/jasonchuh","image":"https://lh3.googleusercontent.com/a/ACg8ocJDiNTmcy-KNizYyP_jdxNF3WuDBcnpcbrokB63quFwoL7P-A=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/when-you-just-need-to-build-a-tiny-desktop-app-tinyjs-roq2jba7u#faq","mainEntity":[{"@type":"Question","name":"What is TinyJS and how does it make desktop apps so small?","acceptedAnswer":{"@type":"Answer","text":"TinyJS is a JavaScript runtime by Tarwin Stroh-Spijer for building desktop apps as small as 6MB or less on macOS, Linux, and Windows. It achieves this by using each OS's native WebView (WebKit on macOS, WebView2 on Windows, WebKitGTK on Linux) instead of bundling a browser engine, and is built on the ultra-compact txiki.js runtime, whose starter package is about 5.6MB. Developers choosing a lightweight alternative to Electron can follow runtime comparisons like this on daily.dev."}},{"@type":"Question","name":"How does TinyJS compare to Electron and Tauri for building desktop apps?","acceptedAnswer":{"@type":"Answer","text":"TinyJS apps can be far smaller than Electron apps, which can weigh 150MB even for basic applications because Electron bundles a Chromium core for cross-platform visual consistency. Compared to Tauri, which can deliver 10MB apps but requires writing in Rust and importing plugins individually for OS features like dialogs and menus, TinyJS lets developers code entirely in JavaScript, HTML, and CSS while handing more native OS substrate directly to the app. Weighing Electron versus Tauri versus TinyJS is easier when tracking framework trade-offs on daily.dev."}},{"@type":"Question","name":"Does TinyJS require Node.js or a build step to run apps?","acceptedAnswer":{"@type":"Answer","text":"No, TinyJS does not require Node.js as a dependency unless a developer chooses to use a framework like Vite that needs it. All coding is done in plain JavaScript, CSS, and HTML with no compiling necessary, though it can also support frameworks like React, Vue, and Svelte, or run with no dependencies at all. Developers evaluating minimal-dependency tooling can keep track of frameworks like this via daily.dev."}}]}
```

