Skip to content(if available)orjump to list(if available)

Show HN: Cascii – A portable ASCII diagram builder written in vanilla JavaScript

Show HN: Cascii – A portable ASCII diagram builder written in vanilla JavaScript

13 comments

·March 16, 2025

3 months ago I wanted to draw an ASCII diagram to include in some documentation at work. I found the few tools online to be insufficient, and was suprised there wasn't a more complete tool to get the job done.

Since, I've built Cascii from scratch in vanilla Javascript (I'm not an FE dev, it might be obvious...).

I hope it works alright. Please check out the live version at https://cascii.app, report problems, make diagrams to improve your code's documentation. Hope you enjoy using it.

dimenoz

This is fantastic. I've always used JavE before but this being a single HTML file is a big+ and packs quite a punch. Kudos to the author!

One question though, how do edit the content later? For example I generated a few diagrams one at a time and pasted those in a local plain text file. Later when I want to edit a particular diagram/part, I tried copy pasted it in, but always got "cannot paste, content leaves canvas" error. If I tried copy-pasting a really small section (e.g. 3x3 table), it pasted it right in the center. Anyway, not sure if that's an intended work flow or not. Great job regardless.

ftr1200

Glad you asked. Have you checked the online version https://cascii.app

There, all exported drawings come with a short link. This is so that months later anyone reading / seeing can edit their own copy online / keep it up to date.

You can also create an account to manage your own drawings.

Side note - when you use real pasting, it will not remember meaningful information (that's very hard to do elegantly). In your example, I'm guessing that 3x3 table you pasted in could not be properly edited like a table again. Hence, use short links so that Cascii remembers state.

ssriram

Hi, great app. I'd love to understand how you are maintaining state behind that short url and see if there are ways (sans server) to at least partially recreate state from the exported ascii.

Having an Import from clipboard would truly make this a remarkable app.

dimenoz

Makes sense. Thank you for making and sharing this.

macintux

Very cool, thanks.

One of the saddest days at my current job: when the company I’m contracted to stopped offering Excalidraw in favor of Lucid. I mostly understand the rationale, but the dramatic difference in friction basically shut down all interest I had in using diagrams to help communicate with my team members.

ftr1200

A co-worker recently showed me this. It seems really good. If they did ASCII diagrams I'd probably have never made this project!

dspillett

That looks almost exactly like something I've wanted, thought numerous times about making, but never getting around to. Thanks for scratching your itch and mine!

ftr1200

Really glad to hear it. Enjoy!

jaredwiener

Really cool -- and congrats!

FYI there's a typo in the link in the README -- points to casci.app instead of cascii.app.

ftr1200

Fixed. Thanks for raising :)

breadchris

omg this is beautiful, great job!

ftr1200

Thank you!

shanselman

genius. I love it. I'll take 14 of these immediately!