SkillAgentSearch skills...

Libsixel

A SIXEL encoder/decoder implementation derived from kmiya's sixel (https://github.com/saitoha/sixel).

Install / Use

/learn @saitoha/Libsixel
About this skill

Quality Score

0/100

Supported Platforms

Universal

Tags

README

libsixel

Build Status Coverage Status

What is this?

This package provides encoder/decoder implementation for DEC SIXEL graphics, and some converter programs.

img2sixel(https://youtu.be/0SasrQ7pnbA)

SIXEL is one of image formats for printer and terminal imaging introduced by Digital Equipment Corp. (DEC). Its data scheme is represented as a terminal-friendly escape sequence. So if you want to view a SIXEL image file, all you have to do is "cat" it to your terminal.

On 80's real hardware terminals, it tooks unbearable long waiting times to display images.

vt330sixel

But nowdays, with high-speed CPU and broadband network, we got the chance to develop a new scope of SIXELs.

SIXEL Animation

img2sixel(1) can decode GIF animation.

Animation

Related projects

Video streaming

Now Youtube video streaming is available over SIXEL protocol by FFmpeg-SIXEL project.

FFmpeg-SIXEL

Above demo only uses 16 color registers.

SDL integration: Gaming, Virtualization, ...etc.

SDL1.2-SIXEL project makes enable you to operate various GUI applications on the terminal.

You can play "The Battle for Wesnoth" over SIXEL protocol.

SDL1.2-SIXEL WESNOTH

You can run QEMU on SIXEL terminals.

SDL1.2-SIXEL QEMU

SDL1.2-SIXEL can collaborate with XSDL-SIXEL.

SDL1.2-SIXEL XSDL

Furthermore some information of SIXEL-ready SDL applications are reported.

Langage Bindings

libsixel-python

converter.py example depends on it.

mruby-sixel

Used by mruby-webcam.

libsixel-p6

A perl6 bindings for libsixel

sixel-sys

Rust FFI bindings for libsixel

sixel-rs

A safe Rust wrapper for libsixel

id-sixel

Total Idris 2 bindings for libsixel

W3M integration

img2sixel(1) can be integrated with Debian's w3m(maintained by Tatsuya Kinoshita) that includes patches for -sixel option derived from Arakiken's w3m fork(remoteimg branch).

w3m-sixel

@uobikiemukot's sdump project selected another approach. He wrote a w3mimgdisplay compatible program yaimg-sixel. It also works with ranger.

w3m-yaimg-sixel

X11 on SIXEL terminals

Xsixel is a kdrive server implementation for SIXEL terminals.

Xsixel

Xsixel Blue Print

GNU Screen integration

Arakiken's GNU Screen fork(sixel branch) works with SIXEL-supported applications including above products. This project is now in progress. GUI flavored SIXEL applications will integrated with existing terminal applications on it.

w3m-sixel-screen

sixel-screen

xsixel-screen

See also on youtube.

Twitter client integration

Some NetBSD/OpenBSD users are doing amazing challenges.

arakiken's mikutterm(mikutterm-sixel)

Now mikutter + mikutterm works with libsixel inline-image extension.

SIXEL works with old powerless machines such as

NetBSD/luna68k (here is OMRON LUNA-II):

mikutterm-netbsd-luna68k

NetBSD/hp300 (here is HP9000/425e):

mikutterm-netbsd-hp9000

arakiken's tw(tw-sixel)

arakiken's tw(tw-sixel) works with libsixel inline-image extension.

SIXEL works with old powerless machines such as OpenBSD/luna88k (here is OMRON LUNA-88K2 MC88100@33MHz):

mikutterm-netbsd-hp9000

sayaka-chan

sayaka-chan(PHP version) works with libsixel inline-image extension.

SIXEL works with old powerless machines such as NetBSD/x68k (here is SHARP X68030 with 060turbo):

sayaka-chan

SIXEL works even in-kernel console. @isaki68k wrote a patch for ite(4).

ite(4)

Other

sixelSPAD

screenshot

Includes 2 commands fricas2sixel and latex2sixel.

latex2sixel

Neofetch

Now sixel backend is implemented. See https://github.com/dylanaraps/neofetch/wiki/Image-Backends#sixel

neofetch

termplay

Depends on sixel-sys, --converter=sixel option is supported.

termplay

sixelPreviewer

Simple scripts and development environment for realtime edit-previewing for dot, svg, markdown, ...etc. sixelPreviewer

sdump

A sixel image dumper, provides pdf previewer.

RetroArch

SIXEL video driver is provided if you build it with --enable-sixel option. (screenshot)

Highlighted features

Improved compression

Former sixel encoders(such as ppmtosixel) are mainly designed for dot-matrix printers. They minimize the amount of printer-head movement distance. But nowadays this method did not represent the best performance for displaying sixel data on terminal emulators. SIXEL data for terminals were found in 80's Usenet, but the technology of how to create them seems to be lost. kmiya's sixel introduces the encoding method which is re-designed for terminal emulators to optimize the overhead of transporting SIXEL with keeping compatibility with former SIXEL terminal. Now libsixel and ImageMagick's sixel coder follow

Related Skills

View on GitHub
GitHub Stars2.8k
CategoryDevelopment
Updated8h ago
Forks97

Languages

C

Security Score

95/100

Audited on Apr 1, 2026

No findings