Forking Chrome to render in a terminal (2023)

150 riddley 18 9/5/2025, 12:54:55 AM fathy.fr ↗

Comments (18)

wonger_ · 14h ago
Fun fact, this project helped the author get a job: https://github.com/fathyb/carbonyl/issues/162#issuecomment-1...

Carbonyl is surprisingly performant and usable, especially with --zoom=300 --bitmap

At lower resolutions, it would be nice to render images using a "subpixel" terminal rendering library like chafa (https://hpjansson.org/chafa/), or maybe sixels/kitty image protocol.

Imustaskforhelp · 8h ago
I remember wanting to use carbonyl on some server so that I don't need to actually create a tunnel b/w 2 servers, start puppeeter in debug instance and open up a website and then hook it up using remote debugging in my ungoogled chromium.

I really wanted something that could just work...

Now that being said, the project was really cool.

So it might come slightly off topic but when I had last viewed the project, there were a lot of people asking if the project is dead or more importantly, what has happened to author and there were comments like this after the job part and even hackernews showed concern of the dev's life https://github.com/fathyb/carbonyl/issues/201 [is the dev killed by IDF in Gaza #201]

btown · 16h ago
Original discussion: https://news.ycombinator.com/item?id=34547259

This is really, really cool!

Skia is a incredible abstraction layer. The linked article at the top of the OP https://fathy.fr/html2svg (2022) has some great graphics of how Skia can support various backends including PDF rendering (via https://skia.org/docs/user/sample/pdf/).

It's also worth noting that the Chrome Graphics team is writing yet another Skia rasterization backend, just announced last month: https://blog.chromium.org/2025/07/introducing-skia-graphite-...

Given that this article came out a couple years ago, it's quite possible that it was seen by the Chrome team and inspired them to look at making a new backend from scratch!

panki27 · 10h ago
This needs an option to use the Kitty Graphics Protocol: https://sw.kovidgoyal.net/kitty/graphics-protocol/

No need to render to ASCII/Unicode anymore!

Imustaskforhelp · 8h ago
Yes I agree, there is also sixel format but I think that sixel is generally used for pngs etc. but both are really cool imo.
jesprenj · 8h ago
maybe kitty should just implement an X11 server or wayland and support all gui programs
zaphirplane · 6h ago
And emacs. Is that still a meme
shiomiru · 6h ago
It already exists for Sixel: https://github.com/saitoha/xserver-sixel

...but at that point X forwarding or VNC seems more useful.

core1024 · 8h ago
Reminds me of browsh[1]. Interesting projects.

[1] https://www.brow.sh/

ksdme9 · 15h ago
It looks so much better than I expected. This is cool.
javier_e06 · 7h ago
This project delivers. Ran on gnome-terminal using podman and I was there watching youtube videos in blocky images. I must try on my rasperry pi.
amelius · 9h ago
Cool but what I'm actually looking for is an article titled:

"Forking xterm to render graphical applications"

taftster · 17h ago
This is some fine hack. In the spirit of pure good intentioned hacking. Love this.
microtherion · 9h ago
It's surprisingly capable. One tricky problem is trying to solve Captchas with it.
neuroelectron · 7h ago
Multimodal LLMs can solve captchas easily if they're allowed to.
IcyWindows · 17h ago
Wow, that's crazy. I also had never heard of Mojo before. Reminds me of Microsoft COM.
LukeShu · 13h ago
Mojo is specifically developed as part of Chromium.

https://chromium.googlesource.com/chromium/src/+/refs/heads/...

ranger_danger · 4h ago
It looks like the project is abandoned/no longer maintained.

brow.sh (firefox in the terminal) is still being updated though.