Before the web, there was the BBS...
The Remote Imaging Protocol (RIP) was a vector graphics encoding used in Bulletin Board Systems (BBSs) during the 90's. To connect to a BBS, one would use a program called a terminal, and everything was text-based or used ANSI escape codes to position and color the text.
In 1992 a standard for drawing graphics in the terminal was invented called RIP, also known as RIPscrip. It was designed in such a way to support existing BBS software, while adding vector graphics capability, such as drawing lines and shapes, similar to today's SVG format on the web. Buttons could be rendered that when clicked, would send text through the terminal as if you pressed the keys on the keyboard. It gave a GUI interface to existing menus, and some games made use of it too. Just like the underground ANSI art scene where artists made use of colored text characters, there was a RIP art scene too. There's a large collection of ANSI and RIP art available to download at 16colors.
The most popular terminal program for accessing RIP-enabled BBSs was an MS-DOS program called RIPterm, and the most popular version of RIPscrip was v1.54. It used an EGA graphics mode with a resolution of 640 x 350 px and 16 colors (out of a wider palette). Since this didn't use a 4:3 aspect ratio, like 640 x 480 VGA, the pixels drawn weren't square. Drawing on a modern screen means either a squished canvas, or stretching it to make the pixels square.
RIPtermJS is my attempt at recreating a RIP file viewer drawn to an HTML canvas, as well as an experimental attempt to create a RIP to SVG converter. Ultimately, I'd like to turn it into a terminal that one could use to access a RIP-enabled BBS from a website through a websocket interface.
If you use this app on your website, we require that you give credit or acknowledgement. Please include a link to https://github.com/cgorringe/RIPtermJS and credit Carl Gorringe.
- L.O.R.D. Town - A really fun implementation of Legend of the Red Dragon!
-
BBS graphics before the Internet! - A video about the history of RIPscrip.
-
Retro RiPS - 1990s RipScrip Vector Graphic Images set to Tracker Tunes (video)
Version 0.4 Under Development
RIPtermJS will correctly display most v1.54 RIP files in a canvas.
What's done and what's in progress:
- Basic Shapes (lines, ellipses, arcs, rectangles, bezier curves)
- Fix filled circles, ovals, & pie slices
- Fix polylines slightly off
- Flood fill with patterns
- Drawing Text using .CHR fonts
- Default 8x8 Text Font
- Buttons & Mouse regions
- Fix button label position slightly off
- Loading & drawing of Icons
- WebSockets to BBS on server (in progress)
- Text Windows & ANSI emulation (in progress)
- Window size & position
- Scrolling (in progress)
- Text color & position
- Draw cursor
- 8x8, 8x14 fonts
- 7x8, 7x14, 16x14 fonts (in progress)
- ANSI Music & BEL
- Host Commands & Variables
- Pre-defined Text Variables (in progress)
- User-defined Text Variables
- Audio effects
- Pop-up Pick Lists
- Host Command Templates
- Local File Playback
Visit my demo page.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Copyright (c) 2018-2026 Carl Gorringe. All rights reserved.
Licensed under the terms of the Mozilla Public License version 2.0 (MPL-2.0).








