I've extracted the BBC image format loading code from the BBC Graphics Viewer, made it a stand-alone cross-platform library with C and C++ bindings and called it libbeebimage. This is what I'm using to convert images included in the 8-Bit Software Online Conversion via a ruby extension written in C.
A cross-platform C & C++ library for reading graphics files originally created on BBC Micro or Master computers.
The most common ways of storing images on the BBC were; as a dump of the graphics memory, in a run-length encoded format loaded by a program called LdPic, or in a different (optionally) run-length encoded format understood by a program called ScrLoad.
However, due to the unusual way that the BBC's graphics memory was mapped to the screen (in blocks of eight bytes) it is not straight-forward to view these formats on a PC with standard tools.
This library is able to read BBC graphics files saved in LdPic, ScrLoad or memory dump format in Modes 0, 1, 2, 4 and 5.libbeebimage is free to use and open source, licensed under the terms of the GPL. You can browse or download the source at the GitHub repository.