Dev tools · September 13, 2025
wcwidth-o1 – Find Unicode text cell width in no time for JavaScript/TS
I ported Markus Kuhn’s wcwidth to TypeScript and optimized it with bitset lookups for O(1) performance. It now covers the full Unicode 15.1 combining ranges. GitHub: https://github.com/dawsonhuang0/Wcwidth-O1 NPM: https://www.npmjs.com/package/wcwidth-o1 Feedback welcome!
wcwidth-o1 – Find Unicode text cell width in no time for JavaScript/TS launched on September 13, 2025 with 16 votes, #667 of 8,160 launches that month and more than 75% of that year's launches. The site was still online in September 2026, 1 year on.
In plain words
wcwidth-o1 is a TypeScript library that calculates how many character cells Unicode text occupies on screen. It uses bitset lookups to achieve constant-time performance and supports the full Unicode 15.1 standard for combining characters. The tool is designed for JavaScript and TypeScript developers who need accurate text width measurements for terminal applications, text formatting, or display calculations.
written from the facts on this page · September 2026
From the sources
glibc-based POSIX wcwidth/wcswidth for Node.js & TypeScript - dawsonhuang0/Wcwidth-O1
A TypeScript/JavaScript implementation of glibc’s wcwidth(3) and wcswidth(3) , optimized to O(1) . Conforms to POSIX.1-2008 (IEEE Std 1003.1) for terminal column width calculation. wcwidth(3) is a per-code-point API and this package faithfully follows it. HOWEVER , multi-code-point sequences (emoji ZWJ, variation selectors, flags) may measure wider than what modern terminals draw. If you need to handle them, check out char-width . When a new Unicode version is released, the lookup table must be regenerated to follow the latest character width definitions. ./genTable.sh If your environment is not glibc-based, you'll see: [ WARNING ] Please compile on a glibc-based Linux distro (e.g. Debian).…from github.com
Does a similar job
all alternatives →
Tesseract.js – Pure JavaScript OCR for 60 Languages2016 · github.com · ▲727Pure Javascript OCR for more than 100 Languages 📖🎉🖥 - naptha/tesseract.js
- ASA Stargate in 140 chars of JavaScript2020 · dwitter.net · ▲377
- OCOne clean, developer-focused page for every Unicode symbolDec 2025 · fontgenerator.design · ▲198
I’m building a Unicode reference where each symbol has its own dev-friendly page with all relevant encodings. Example: [https://fontgenerator.design/symbol/almost-equal-to](https://fontgenerator.design/symbol/almost-equal-to) Includes Unicode, HTML, CSS, JS, UTF-8/16 bytes, URL encoding, and usage examples. The same structure is used across thousands of symbols (math, arrows, currency, tech/UI, punctuation). Built because existing references are fragmented. Feedback welcome.
An experimental data-flow analysis tool for JavaScript2019 · fromjs.com · ▲95Find the origin of any character in the DOM
uWrap.js – A faster and more accurate text wrapping util in < 2KB2025 · github.com · ▲121A 10x faster and more accurate text wrapping util in < 2KB (min) - leeoniya/uWrap
- ASA stab at building my own string diffing library2022 · ▲29
Took a stab at building my own string diffing JS package. I built an interactive demo for TypeIt’s website (https://typeitjs.com/build-your-own) a while back. The approach I took to handle user input necessitated a way to calculate the difference between the versions of a user’s text input. I searched around for a package to help me out and found a couple of good ones (like fast-diff), but I either didn’t really like their API or didn’t want to take on a huge new dependency. Instead, I thought I’d give it a shot myself (famous last words). I dove into it having no real formal…
More dev tools this month
the category →

open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 28d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 26d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 23d ago · openbot.run
Talanoa▲346Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 21d ago · talanoa.email
CoreSpeed▲332One MCP for everything your agents need: apps, memory, tools
Dev tools · 29d ago · corespeed.io
Source: Show HN post ↗
Launched alongside, September 2025
the whole month →

The site hit #1 on HN about a year ago. Got enough traffic that I turned it into a proper API. What's there: - REST API — 35k products, manually filterable by category, free key, 60 req/min - CLI — npx anycrap random -c food - faker.js plugin — bundled, no API call, works offline - HuggingFace dataset — full 35k rows for ML/training https://anycrap.shop/developers
AI · 2025 · anycrap.shop

I made a built-from scratch Wayland Compositor to display any GUI app* in the terminal! I think there is a lot of unexplored potential in custom Wayland compositors, a lot of really cool things you can embed existing applications into! So, I started with embedding apps into the terminal because that is the easiest input/output (output is just utf-8 and I use the great `chafa` library for that, and I just read from stdin for the input). If you have any other ideas for cool Wayland compositors, let me know. I purposedly wrote 80% the app in Typescript to appeal to the most developers and…
Dev tools · 2025 · github.com
- IR
Years ago I stumbled across a basic version of this concept and it stuck with me. I knew if I was ever going to take on such a project, it would need to be flawless, but without coding experience it was just another idea that would never happen. By the end of 2024, as AI coding tools exploded everywhere, I finally had a way to make it real. I started from zero knowledge and spent months collaborating with AI agents as a learning experience. Every pixel and every function went through me. The AI translated what I asked for into code, but every decision was human. I didn't use existing OS…
AI · 2025 · mitchivin.com

