A simple streaming ascii PPM image parser/writer

npm install ppm
217 downloads in the last day
1 061 downloads in the last week
4 983 downloads in the last month


This code implements a streaming parser/serializer for ascii PPM formatted images in JavaScript. The PPM file format is very simple and human readable, so it can be useful when debugging graphics applications. The downside though is that PPM is not a very efficient format, and so it is not really suitable for long term archival or transmission of images. For those applications, you should use a standard network image format like PNG or JPEG, depending on your requirements.


To install, first you do:

npm install ppm

And here is how you can use it to write/read back an image:

var ppm = require("ppm");

var image = [
  [[255, 0, 0], [255, 0, 0], [255, 0, 0]],
  [[0, 255, 0], [0, 255, 0], [0, 255, 0]],
  [[0, 0, 255], [0, 0, 255], [0, 0, 255]]

ppm.parse(ppm.serialize(image), function(err, img) {
  console.log(err, img);

The API is streaming, and should be compatible with all the stand node.js features from fs/net/etc..

ppm.parse(stream, cb(err, result))

Parses an ASCII ppm file from the stream. When finished, calls result with the error/result of parsing the file.


Converts an image into an ASCII ppm stream


(c) 2013 Mikola Lysenko. BSD

npm loves you