8 releases

0.1.13 Feb 12, 2024
0.1.12 Feb 7, 2024
0.1.9 Jan 17, 2024

#73 in Graphics APIs

Download history 132/week @ 2024-01-07 160/week @ 2024-01-14 35/week @ 2024-01-21 53/week @ 2024-01-28 254/week @ 2024-02-04 229/week @ 2024-02-11 339/week @ 2024-02-18

885 downloads per month


440 lines


Crates.io Version

video example

A command line interface to display and animate 3D objects using ANSI escape codes, written using gemini-engine in the Rust programming language

For a basic guide on how to use the tool, run display3d --help

Supported formats

  • .obj (combined with .mtl for colours). If you're exporting from Blender, set the forward axis to +Z and the up axis to +Y
  • .stl

Please note that this form of rendering requires the terminal to support ANSI escape codes, support for which tends to be unreliable on Windows from installation to installation. If you are having issues getting an image on Linux or MacOS, please submit an issue request


Make sure you have rust and cargo installed before proceeding with either of these methods

Run cargo install display3d. This will download, compile and install the latest stable release of display3d. You can then simply run display3d to access it

Compile from source

Clone this repository with git clone https://github.com/redpenguinyt/display3d.git or download and extract this repository.

Build the project with cargo build --release. The binary will be saved to <project-repo>/target/release/display3d


To run the example spinning shark, run display3d blahaj.obj -t 0,0,5.5. You can get the blahaj.obj and blahaj.mtl (for colours, should be stored together with blahaj.obj) files in the resource folder of this repository.


~135K SLoC