LingDong- / fishdraw

procedurally generated fish drawings

Home Page:

fishdraw's ContributorsOctNovDecJanFebMarAprMayJunJulAugSepSunMonTueWedThuFriSat


procedurally generated fish drawings. demo

  • generates all sorts of weird fishes
  • outputs polylines (supported format svg, json, csv, etc.)
  • full procedural generation, single file no dependencies
  • plotter-centric
  • export drawing animation:



node fishdraw.js > output.svg

specify seed (from a string), speed of drawing and output format:

node fishdraw.js --seed "Biggus fishus" --format smil --speed 2 > output.svg
  • the seed string is used as the name of the fish (printed in the drawing). If unspecified, a random pseudo-Latin name will be auto generated.
  • the speed number is used to control the speed of drawing animation. Larger the number is, faster it draws. This option works only with format smil.
  • format options: svg (regular svg), smil (animated svg), csv (each polyline on a comma-separated line) and json.

use as JS library:

const {fish,generate_params} = require('./fishdraw.js');
let polylines = fish(generate_params());


procedurally generated fish drawings

License:MIT License


Language:JavaScript 100.0%