Fact-checked by Grok 2 weeks ago

Sixel

Sixel is a graphics format and terminal control protocol developed by (DEC) in the 1980s for rendering images on text-based terminals and printers. It encodes using sequences of printable ASCII , where each represents six vertical in a single-pixel-wide column, enabling efficient inline image display without requiring dedicated hardware. Originally introduced with the VT300 series terminals, such as the VT330 for monochrome and the VT340 for up to 16 colors, Sixel uses a device control string (DCS) to initiate transmission, followed by from '?' (hex 3F) to '~' (hex 7E) that map states (1 for on, 0 for off). The protocol supports key features like color specification in basic palettes or HLS/RGB models, pixel aspect ratio adjustments (default 2:1 for terminals), and control functions for repeating pixels ('!'), setting raster attributes ('"'), selecting colors ('#'), and line advances ('-' for newline, '$' for ). Background color handling can retain the current background or map it to a specific color, and modes allow images to either scroll within bottom margins or be clipped. Designed for DEC's , including compatibility with printers for tasks like font design, Sixel's compact, character-based encoding made it suitable for low-bandwidth serial connections typical of early computing environments. In modern contexts, Sixel has seen renewed interest for terminal-based applications, with libraries like libsixel providing encoders, decoders, and conversion tools (e.g., img2sixel) to support image formats such as , , and animations on contemporary emulators. This library, originally inspired by earlier implementations and released under the , enables features like high-quality color quantization, compression improvements, and integration with tools for video streaming (via FFmpeg-SIXEL) and GUI elements in terminals like mlterm or with Sixel enabled. Support extends to platforms including systems, Windows via , and even legacy hardware, facilitating uses in remote desktop virtualization, web browsing (e.g., with ), and lightweight gaming via . Despite its age, Sixel remains notable for its efficiency in paletted rendering, influencing standards and ongoing implementations.

History and Development

Origins in DEC Terminals

Sixel was introduced by (DEC) in the early 1980s as a bitmap graphics format designed specifically for its VT200-series video terminals and compatible printers, including the LA100 series. The format debuted around 1983–1984, coinciding with the launch of the VT240 terminal model in late 1983. This innovation allowed DEC's text-oriented hardware to handle graphical output efficiently, marking an early step in integrating simple imaging capabilities into terminal-based computing environments. The primary purpose of Sixel was to enable the inline display and printing of images within text-based terminals and printers, eliminating the need for dedicated graphics hardware. By encoding images as vertical strips of six pixels high—hence the name "sixel"—the format optimized transmission over connections typical of the era, supporting compact representation of plots and diagrams directly in character streams. This approach was particularly suited to DEC's ecosystem, where terminals connected to minicomputers via asynchronous interfaces. Sixel originated as a for DEC printers like the LA100 and LA50 series around 1982–1984, before its adoption in terminals such as the VT240. Developed to enhance graphical output from DEC's PDP-11 minicomputers and VAX superminicomputers, Sixel facilitated applications such as data graphing, simple plotting, and image printing in environments running operating systems like and . These systems, prevalent in scientific, engineering, and business computing during the , benefited from Sixel's ability to render visuals without interrupting text workflows, thereby supporting tasks like chart generation in programming or report printing. The format's integration with VT200-series terminals extended the utility of DEC hardware for users requiring occasional graphics alongside primary text operations. The first documented implementation of Sixel appears in the VT240 Series Programmer's Pocket Guide, published by DEC in September 1983, which details its use for bitmap graphics alongside other features like . Later DEC hardware, such as the VT340 introduced in 1987, expanded Sixel to include color support, building on its monochrome foundations.

Evolution and Standards

Following its initial proprietary implementation by (DEC) in the VT200 series terminals during the early 1980s, the Sixel format transitioned toward broader standardization through the adoption of its underlying control mechanism in international standards for terminal control functions. The Device Control String (DCS) introducer, which encapsulates Sixel data as ESC P ... ST sequences, was formally defined in the ECMA-48 standard (5th edition, 1991), subsequently adopted as ISO/IEC 6429:1992, enabling interoperability for device-specific extensions like Sixel across compatible systems. This inclusion positioned Sixel within a framework for coded character sets and control functions, though the bitmap encoding details remained DEC-specific. In the and early , DEC enhanced Sixel capabilities in the VT300 series terminals, notably the VT340 introduced in 1987, by integrating palette-based color support. The VT340 allowed selection of up to 16 colors from a 4096-color palette for Sixel images, marking a significant upgrade from the four-color limit in earlier VT200-series devices like the VT240. The Sixel format itself was designed to accommodate up to 256 color registers, providing scalability for future hardware while aligning with the six-pixel-high core structure originated in DEC's earlier terminals. Sixel's development paralleled DEC's ReGIS (Remote Graphics Instruction Set), a vector graphics protocol introduced in 1979 for terminals like the VT125, but the two formats diverged in purpose: ReGIS emphasized scalable line drawings and geometric primitives, whereas Sixel prioritized compact bitmap representation for raster images. This distinction influenced DEC's terminal ecosystem, with Sixel filling the niche for pixel-based output in text-oriented environments. By the late 1990s, native hardware support for Sixel waned as graphical user interfaces (GUIs) like those in Microsoft Windows and dominated computing, reducing demand for character-cell terminals and their specialized graphics modes. However, the format persisted in software emulators, such as , ensuring compatibility for legacy applications and preserving Sixel's role in terminal-based graphics.

Technical Specification

Basic Structure and Encoding

Sixel graphics represent images as a encoded in a series of vertical strips, each six pixels high and one pixel wide. This structure leverages the fixed dimensions of character cells, where each cell typically accommodates six pixels vertically to align with the height of a single row of sixel data. The format ensures that the entire image height is a multiple of six pixels, allowing complete coverage without partial rows. Each vertical strip, known as a sixel, is encoded using a single 7-bit ASCII character from the range '?' (0x3F) to '~' (0x7E), which provides possible values (0 to 63), each representing a unique 6-bit pattern where each bit corresponds to one in the vertical column: a '1' indicates a pixel on, and '0' indicates off, with the least significant bit at the top . This mapping allows direct representation of binary states within printable characters suitable for transmission. Images are constructed by sequencing these sixel strips horizontally from left to right within each row, forming a complete horizontal scan line of six pixels high. To advance to the next row, a graphics newline is used, progressing the raster top-to-bottom. The image width, measured in , is typically a multiple of six to maintain and align with character cell widths, where six horizontal pixels span one character cell for square pixel rendering. This organization results in a compact, row-major raster format optimized for sequential character-stream output. In the binary-to-sixel mapping, each 6-bit of a vertical column is converted to its corresponding by adding the pattern value (0 to 63) to 0x3F. For instance, a column with all pixels on ( 111111, 63) maps to '~' (0x7E), while all pixels off ( 000000, 0) maps to '?' (0x3F). This scheme enables efficient encoding of bitmaps directly into text streams.

Color and Palette Handling

Sixel utilizes a palette-based color system in which a set of color registers is defined prior to the of the data, allowing each vertical strip of six pixels to reference a palette index for uniform coloring. In the original DEC VT series terminals, the color-capable VT340 supports up to 16 palette entries that can be set using the HLS or RGB models with parameters as integers from 0 to 100 (percentages for RGB/lightness/saturation) or 0-360 for hue; the VT330 is limited to 4 intensity levels for . These intensity levels allow for varying in images on the VT330. Color assignment occurs by selecting a palette index (ranging from 0 to the maximum supported by ) for each strip, enabling efficient encoding where the six pixels in a column share the same color without per-pixel specification. Initial DEC implementations provided limited color support, starting with in earlier models like the VT240 and expanding to these small palettes in color-capable terminals, which relied on the terminal's for rendering. Modern extensions of the Sixel format, as implemented in libraries like libsixel and terminal emulators such as and mlterm, expand the palette to a maximum of 256 colors to accommodate more complex images while maintaining compatibility. These implementations typically define palette entries using 6-bit RGB values per channel (0-63), yielding up to 262,144 distinct colors, though the palette itself remains indexed to 256 slots; the dynamic nature of the palette allows entries to be redefined via control sequences at any point before or between strips, facilitating adaptive color mapping without resetting the entire image. Notably, Sixel lacks native support for an alpha channel, preventing per-pixel transparency, and dithering is not inherent to the format, requiring external tools or preprocessors to approximate gradients or reduce higher-color-depth images to the palette.

Control Sequences

Sixel graphics are initiated by transmitting a Device Control String (DCS), which in 7-bit environments is represented as the escape sequence ESC P (decimal 27 followed by 80), or directly as the 8-bit DCS control character (decimal 144). This is followed by up to three optional numeric parameters separated by semicolons—P1 for pixel aspect ratio (e.g., omitted or 0 for 2:1, 7 for 1:1), P2 for background color handling (0 or 2 to use the current background, 1 to retain the previous Sixel background), and P3 for horizontal grid size in centimeters (often 0 and ignored in VT300-series terminals)—then the protocol selector 'q' (decimal 113), marking the start of the Sixel data stream. Within the DCS string, initial control sequences configure image attributes before the pixel data. For instance, the raster attribute introducer '"' (decimal 34), known as DECGRA in DEC documentation, sets parameters such as pan/pad positioning (), horizontal pixel size ( in cm), and vertical pixel size (Pv in cm), allowing dynamic adjustment of image dimensions and independent of the initial DCS parameters. The repeat introducer '!' ( 33) enables efficient encoding by repeating a subsequent sixel character n times (where n is a decimal number up to 65535), which can be used initially to fill or initialize areas, including palette-related patterns if combined with color definitions. Color and palette configuration occur via the graphics color introducer '#' (decimal 35), or DECGCI, which assigns a color to a specific index Pc (0-255) or selects a predefined color; in extended form, it uses '#' Pc ; Pu ; Px ; Py ; Pz, where Pu specifies the (1 for HLS with hue, , and values 0-360 and 0-100, or 2 for RGB with , , and values 0-100). Palette initialization typically involves defining colors from index 0 onward at the start of the data stream, resetting to defaults by re-specifying all entries or relying on the terminal's initial state. Positioning within the is managed by the graphics carriage return '$' ( 36), which returns to the left margin on the current line, and the graphics new line '-' ( 45), which advances to the next line. The Sixel mode is terminated by the String Terminator (ST), represented as ESC \ (decimal 27 followed by 92) in 7-bit environments or the 8-bit ST control character (decimal 156), which ends the graphics stream and resumes text processing at the cursor position following the image. DEC-specific extensions include private modes like CSI ? 80 h to enable Sixel Display Mode (DECSDM), which controls behavior during graphics rendering. These sequences ensure compatibility with DEC VT-series terminals while allowing flexible configuration of graphics attributes.

Implementation and Usage

Terminal Support

Sixel graphics were originally supported in hardware by (DEC) terminals starting from the model introduced in 1983, which included built-in decoding for Sixel data primarily for defining soft character sets, though it lacked screen memory for direct on-screen rendering. The VT240, also released in 1983, extended this capability with screen memory, enabling direct writing and display of Sixel graphics on the screen. Similarly, the VT320 from 1987 supported Sixel decoding for soft character sets but, like the , did not feature memory for full graphics display. Printer integration for Sixel output was provided by DEC's LA210 letter-quality printer, which accepted Sixel format data for high-speed printing, including support for multiple typefaces and print modes compatible with VT-series terminals. This printer enabled hardcopy reproduction of Sixel graphics directly from terminal sessions, providing emulation for IBM-compatible printers alongside native Sixel handling. In Unix and environments, emulation of Sixel support began with in the , initially offering partial implementation that required specific compilation flags like --enable-sixel-graphics and terminal type settings such as -ti vt340 to enable decoding and basic rendering. Modern configurations, including entries like xterm-256color, provide fuller support when compiled appropriately, allowing Sixel graphics to integrate with extended color palettes and improved rendering. One notable challenge in Sixel display across both hardware and emulated terminals involves interactions between graphics rendering and text operations, particularly cursor positioning and scrolling; for instance, when the Sixel active position reaches the bottom margin, scrolling may occur, and upon exiting Sixel mode, the text cursor repositions to the active graphics location, potentially disrupting ongoing text output. Activation typically relies on DEC private mode sequences, such as DCS to initiate Sixel mode, which must be handled precisely to avoid such conflicts.

Image Conversion and Tools

Software utilities for converting common image formats to Sixel enable the display of graphics in compatible terminals. One of the primary tools is 's convert command, which supports output in Sixel format via the -format sixel option, allowing conversion from formats such as and . This feature was added in ImageMagick version 6.8.9-9. For example, users can execute convert input.png -format sixel output.sixel to generate Sixel data from a PNG file. An alternative is the libsixel library, a lightweight C implementation for encoding and decoding Sixel graphics, which includes the command-line tool img2sixel for converting images like PNG, JPEG, GIF, and BMP to Sixel format. The img2sixel utility supports options for specifying output files, color reduction, and dithering methods to optimize the resulting Sixel stream. The conversion process typically begins with preprocessing the input image: resizing dimensions to multiples of 6 pixels where necessary for efficient encoding, followed by palette quantization to limit colors to a maximum of 256, often using techniques like dithering for quality preservation. The quantized image is then encoded into horizontal strips of 6 pixels high, where each vertical column within a strip is represented by 6 bits. Generated Sixel output can be handled by piping directly to a terminal for immediate rendering, such as img2sixel input.jpg | cat, or saved to files with a .sixel extension for later use or transfer. This flexibility supports both interactive terminal sessions and scripted workflows.

Example Encoding Process

To illustrate the Sixel encoding process, consider a simple monochrome image consisting of a 6x6 pixel square where all pixels are set to on, forming a solid block. The encoding begins by dividing the image into horizontal strips, each 6 high, as Sixel operates on vertical columns of 6 pixels known as sixels. For this 6-pixel-high image, it comprises exactly one such strip. This strip is then subdivided into 6 vertical sixels, each 1 pixel wide and representing the full ; with all pixels on, the pattern for each sixel is 111111 ( 63). Next, each 6-bit sixel value is converted to a printable ASCII character by adding hexadecimal 3F (decimal 63) to the bit pattern's value, yielding characters in the range from '?' (0x3F, for 000000) to '' (0x7E, for 111111). Here, the all-1s pattern (0x3F) maps to 0x3F + 0x3F = 0x7E, the tilde ''; thus, all 6 sixels encode to '', producing a sequence of six consecutive '' characters for the single strip. The full Sixel output embeds this data within a Device Control String (DCS) for transmission to a terminal. It starts with the DCS introducer (0x90 in 8-bit mode or ESC P in 7-bit), followed by optional parameters separated by semicolons (e.g., 0 for 2:1 pixel aspect ratio, 0 for background color handling, and 0 for horizontal grid size, all defaults for a basic monochrome case), then 'q' (0x71) to signal Sixel data, the six '~' characters, and ends with the String Terminator (ST, 0x9C in 8-bit or ESC ) ). In 8-bit notation, a complete sequence appears as:
\x90 0 ; 0 ; 0 ; q ~~~~~~ \x9C
When this sequence is processed by a , it renders the data as a filled 6x6 square, with each '~' producing a vertical column of 6 lit .

Modern Relevance and Extensions

Current Terminal Emulators

In the , several have implemented Sixel support to enable rendering within text-based environments, with varying degrees of completeness and performance. Mlterm, first released in the early , provides full Sixel compatibility starting from version 3.1.9, supporting up to 256 colors via a dynamic palette that allows for efficient rendering of images without requiring full 24-bit per . , a longstanding emulator, enhanced its Sixel capabilities in the , with full support enabled by default since patch #359 in 2018, including dynamic palette management for 24-bit color reproduction and compatibility with VT340 emulation mode. These emulators prioritize protocol fidelity, allowing seamless display of Sixel-encoded images in applications like plotting tools and image viewers. WezTerm, a cross-platform GPU-accelerated introduced in 2020, offers full Sixel support from its initial stable release, handling dynamic palettes and 256+ effective colors through palette optimization, which contributes to smooth performance in modern workflows. In contrast, , launched in 2017, does not natively support Sixel but provides superior graphics via its proprietary Terminal Graphics Protocol, which supports multiple image formats and GPU acceleration for higher efficiency in image rendering. For emulators with partial or experimental implementations, relies on community forks like alacritty-sixel for Sixel decoding, enabling basic palette-based rendering but lacking official integration and optimized dynamic palette handling as of 2025. , a Rust-based terminal focused on since the early 2020s, implemented full Sixel support around 2024, providing dynamic palette handling and production-ready performance for image rendering, including support for animations and custom character sets. Microsoft's introduced Sixel support in preview version 1.22 in September 2024, with full integration in stable releases by 2025, supporting dynamic palettes and efficient rendering on Windows systems. Compatibility across these emulators varies in , palette flexibility, and rendering efficiency, as tracked by the "Are We Sixel Yet?" resource, which monitors Sixel adoption in open-source terminals as of late 2025. The following summarizes key aspects for prominent examples:
Terminal EmulatorSupport LevelColor SupportDynamic PalettesPerformance Notes
MltermFull256 colorsYesEfficient for images up to 1024x768 , suitable for real-time plotting without lag.
Full24-bit via paletteYesHandles large palettes reliably in VT340 mode, with minimal overhead for standard bitmap displays.
WezTermFull256+ effectiveYesGPU acceleration ensures smooth rendering of dynamic content, outperforming CPU-bound alternatives.
None (alternative )N/AN/ARelies on custom for faster, format-agnostic graphics; Sixel incompatible.
(fork)Partial/Experimental256 colorsLimitedFork enables basic decoding but may introduce rendering artifacts in complex palettes.
Full256+ colorsYesFunctional support with demos for image and GIF rendering, suitable for production use on hardware-accelerated systems.
Full24-bit via paletteYesGPU-accelerated rendering for smooth image display on Windows platforms as of stable releases in 2025.
This matrix highlights how full-support emulators like mlterm and maintain backward compatibility with legacy Sixel features, while modern ones like WezTerm emphasize performance enhancements for contemporary use cases.

Libraries and Software Integration

libsixel is a lightweight library for encoding and decoding SIXEL graphics, initially released in 2014, providing core functionality for converting raster images such as and formats into SIXEL streams while supporting up to 24-bit color palettes. It includes utilities like img2sixel for command-line conversion and has been integrated into various package managers, including and Homebrew. Bindings extend its usability to higher-level languages, with wrappers available via libsixel-python on PyPI for seamless integration in scripting environments, and Java bindings through jsixel, which uses JNA to mirror the API for applications like Swing or . Beyond libsixel, other open-source libraries facilitate SIXEL handling in diverse contexts. node-sixel offers JavaScript-based encoding and decoding for and browser environments, enabling SIXEL graphics in web-based terminals. For terminal user interfaces (), ncurses-like libraries such as notcurses provide built-in SIXEL support, allowing developers to render bitmapped graphics alongside text in portable applications without relying on external tools. SIXEL integration enhances visualization in development tools and plotting software. In Neovim, plugins like sixelview.nvim leverage SIXEL to preview images directly within buffers, supporting terminals with SIXEL capabilities for inline display during editing. Similarly, GNUplot includes native SIXEL terminals such as sixelgd, which convert plots to SIXEL output for rendering in compatible emulators, while Matplotlib users can employ the matplotlib-backend-sixel package to generate inline plots in SIXEL format for terminal-based data analysis.

References

  1. [1]
    14 Sixel Graphics - VT100.net
    The sixel data characters are characters in the range of ? (hex 3F) to ~ (hex 7E). Each sixel data character represents six vertical pixels of data. Each sixel ...
  2. [2]
    libsixel | The new standard of SIXEL development
    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- ...
  3. [3]
    [PDF] VT 240series - Bitsavers.org
    The ReGIS graphics mode is available through the VT200 and. VT100 modes only. You enter ReGIS by sending a ReGIS device control string to the terminal. Control ...
  4. [4]
    [PDF] DEC PDP-11 Family - Bitsavers.org
    The most recent addition to the PDP-ll/VAX-ll peripheral roster is the VT200 family of terminals, an- nounced in late 1983. These terminals extend the features.
  5. [5]
    [PDF] Standard ECMA-48
    Jun 13, 1991 · The fourth edition, published in 1986 was adopted by ISO/IEC under the fast-track procedure as second edition of ISO 6429. It constitutes a ...Missing: Sixel | Show results with:Sixel
  6. [6]
    [PDF] VT330/VT340 - Bitsavers.org
    This manual is part of the VT300 user documentation package. Each manual in the package is for a certain audience. •. Installing and Using the VT330/VT340 ...<|control11|><|separator|>
  7. [7]
    All About SIXELs
    The Sixel graphics format also includes several "control" characters -- in the printable ASCII range, but outside the range of 63-to 126 decimal used for image ...
  8. [8]
  9. [9]
    ctlseqs(ms) - invisible-island.net
    ECMA-48 (aka "ISO 6429") documents C1 (8-bit) and C0 (7-bit) codes. Those are respectively codes 128 to 159 and 0 to 31. ECMA-48 avoids referring to these ...Missing: IEC | Show results with:IEC
  10. [10]
    Brief explanation of DEC's Sixel Graphics - VT100.net
    Sixel is an old rather primitive graphics format used in some old > DEC hardware: VT340 terminals, LN03 printers etc.. Remember the GIGI terminal? I believe it ...Missing: 1983-1984 | Show results with:1983-1984
  11. [11]
    [PDF] 9065 - 9080 - 10300 DEC EMULATION ADDENDUM - Compuprint
    DCS. Device Control String (9/0), introduces a device control string. DCS can also be represented by the equivalent escape sequence ESC P (1/11 5/0). ST. String ...
  12. [12]
    [PDF] Digital ANSI-Compliant Printing Protocol Level 2 Programming ...
    This document describes level 2 of Digital's ANSI-Compliant Printing. Protocol (DEC PPL2). It contains information pertaining to all level 2 printers. Revision/ ...
  13. [13]
    HTNotes - EISNER - DECUServe
    HARDWARE SUPPORT RETOS supports the following Digital printers, all of which support the sixels protocol: LJ250/LJ252, LN03 PLUS, LN03, LA75, LA210, LA100 and ...
  14. [14]
    Letterprinter 100/​Letterwriter 100 (LA100) - VT100.net
    The LA100 series offers high-speed, letter-quality printing, multiple typefaces, bit-map graphics, multiple print modes, and nonvolatile memory.Missing: 1983-1984 | Show results with:1983-1984
  15. [15]
    Image Formats - ImageMagick
    ImageMagick supports reading over 100 major file formats (not including sub-formats). The following table provides a summary of the supported image formats. Tag ...Missing: sixel | Show results with:sixel
  16. [16]
    (CVE-2018-5248) CVE-2018-5248 ImageMagick - Red Hat Bugzilla
    According to upstream changelog, the support for sixel coder was added in version 6.8.9-9. Note. You need to log in before you can comment on or make changes ...<|separator|>
  17. [17]
    sixel for terminal graphics - konfou.xyz/
    Mar 5, 2021 · “Six-pixel” or “sixel” for short is a graphics format originating from DEC terminals. It is an 80s technology that went under the radar ...
  18. [18]
    saitoha/libsixel: A SIXEL encoder/decoder implementation ... - GitHub
    To use this function, you have to initialize two objects,. sixel_dither_t (dithering context object); sixel_output_t (output context object). Dithering context.
  19. [19]
    img2sixel(1) — libsixel-bin — Debian testing
    img2sixel converts various images into high quality DEC SIXEL image format. COMMAND-LINE OPTIONS¶. img2sixel has the following command-line options: -o, -- ...
  20. [20]
    img2sixel man | Linux Command Library
    img2sixel is a command-line utility that converts various image formats (like PNG, JPEG, GIF, BMP, etc.) into SIXEL graphics. SIXEL is an ancient but recently ...
  21. [21]
    Images in a terminal - FedoraForum.org
    May 21, 2024 · Has anyone here ever tried the SIXEL library for viewing images and graphics (e.g. PostScript) in a terminal window?
  22. [22]
  23. [23]
  24. [24]
  25. [25]
    Terminal graphics protocol - kitty - Kovid Goyal
    A flexible and performant protocol that allows the program running in the terminal, hereafter called the client, to render arbitrary pixel (raster) graphics to ...Missing: Sixel | Show results with:Sixel
  26. [26]
    Add support for libsixel · Issue #910 · alacritty/alacritty - GitHub
    Nov 21, 2017 · Sixel does support 24-bit, it is just palette based. It is just not very efficient if you have too many distinct colors. React with 13
  27. [27]
    Render images directly from the terminal · Issue #38 · raphamorim/rio
    May 6, 2023 · It's to render images directly in the terminal, and that can be done with a subset of the protocol, described within the first few paragraphs.
  28. [28]
    A plotting-in-terminal solution: sixels and mlterm
    Oct 4, 2024 · The sixel format is a venerable bitmap graphic format originally used to send image data to Digital Equipment Corporation printers, and later ...
  29. [29]
    Features - Wez's Terminal Emulator
    Runs on Linux, macOS, Windows 10, FreeBSD and NetBSD · Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback ...
  30. [30]
    microo8/alacritty-sixel: A cross-platform, OpenGL terminal emulator.
    The supported platforms currently consist of BSD, Linux, macOS and Windows. The software is considered to be at a beta level of readiness; there are a few ...
  31. [31]
    Sixel protocol - Rio Terminal
    Sixel, short for six pixels, is a bitmap graphics format supported by terminals and printers from DEC. It consists of a pattern six pixels high and one wide.
  32. [32]
    Are We Sixel Yet?
    This site lists the support for the SIXEL graphics format across various terminal emulators. The SIXEL format allows the terminal to display bitmap graphics.
  33. [33]
    libsixel 1.10.5-1 (x86_64) - Arch Linux
    Architecture: x86_64. Repository: Extra. Description: Provides a codec for DEC SIXEL graphics and some converter programs.
  34. [34]
    libsixel - Homebrew Formulae
    Library for manipulating PNG images. Depends on when building from source: meson, 1.9.1, Fast and user friendly build system. ninja, 1.13.1, Small build system ...
  35. [35]
    libsixel-python - PyPI
    libsixel-python is a Python wrapper for libsixel, which can be installed using pip. libsixel is available at https://github.com/saitoha/libsixel.Missing: Java | Show results with:Java
  36. [36]
    sshtools/jsixel: JNA based Java bindings for libsixel - GitHub
    Low level bindings matching libsixel API. High level file based encoder and decoder (similar to python/libsixel/encoder.py and python/libsixel/decoder.py ).
  37. [37]
    jerch/node-sixel: Sixel image format for node and browser. - GitHub
    Note: Some terminals have strict palette limitations, in general the palette should not contain more than 256 colors. ... 16 color palette of VT340 (as RGBA8888 ) ...
  38. [38]
    dankamongmen/notcurses: blingful character graphics/TUI ... - GitHub
    Portable support for bitmapped graphics, using Sixel, Kitty, and even the Linux framebuffer console. Support for unambiguous keyboard protocols. "TUI mode" ...
  39. [39]
    kjuq/sixelview.nvim: View images on Neovim via Sixel - GitHub
    View images within your Neovim via Sixel! Disclaimer: This plugin is in experimental state. So sometimes displayed contents of a buffer break.
  40. [40]
  41. [41]
    gnuplot / Bugs / #2156 Wrong background with sixel truecolor terminal
    Mar 31, 2019 · The default palette just has 16 colors matching those on the VT340 if in vt340 mode, but I recommend setting any colors used and not relying on ...
  42. [42]
    matplotlib-backend-sixel - PyPI
    Jul 16, 2023 · This python module allows you to use your sixel-enabled terminal to show inline plots generated by python's matplotlib.Missing: output | Show results with:output
  43. [43]
    Minimal sub-standard for Kitty graphics protocol? #3159 - GitHub
    Dec 11, 2020 · Here I am aiming for simplicity with reasonable efficiency. Using Sixel for true color images is really not efficient at all (and IIRC, not truly possible).