phash: Haskell bindings to pHash, the open source perceptual hash library

[ data, gpl, library ] [ Propose Tags ]

See for more info. Note that you must have libphash installed on your system to use this library. Check your system library.

[Skip to Readme]


[Last Documentation]

  • Data
    • Data.PHash
      • Data.PHash.Image
      • Data.PHash.Types


Manual Flags


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6
Dependencies base (>=4.6 && <5) [details]
License GPL-3.0-only
Copyright Copyright: (c) 2014 Michael Xavier
Author Michael Xavier <>
Maintainer Michael Xavier <>
Category Data
Home page
Bug tracker
Source repo head: git clone
Uploaded by MichaelXavier at 2017-03-23T01:14:13Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 4846 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2017-03-23 [all 2 reports]

Readme for phash-0.0.6

[back to package description]

phash: Haskell bindings to pHash, the open source perceptual hash library

Build Status

PHash is a library for generating perceptual hashes of media files. These bindings currently only support images. You can compare these hashes to detect visually similar images.

Installation Notes

Note that this library does not come bundled with the source code for pHash. You must install that yourself. Your package manager may have it available as libphash. If that is not available, you can install it from source from


import Data.PHash

main = do
  Just h1 <- imageHash "somefile.jpg"
  print h1
  print =<< imagesSimilar "somefile.jpg" "similarfile.jpg" reasonableThreshold
  where reasonableThreshold = 15


All credit goes to the original pHash authors. For more information about pHash visit