eislambey/splathash-php

16 bytes fixed size image placeholder, an alternative to blurhash and thumbhash

Maintainers

Package info

github.com/eislambey/splathash-php

pkg:composer/eislambey/splathash-php

Statistics

Installs: 5

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-01 18:54 UTC

This package is auto-updated.

Last update: 2026-05-01 18:57:36 UTC


README

PHP port of SplatHash: compress any image to exactly 16 bytes and reconstruct a 32x32 RGBA placeholder.

Requirements

  • PHP 8.2+
  • ext-gd for SplatHash::encode() from image files or GdImage

Install

composer require eislambey/splathash-php

Usage

<?php

use Islambey\SplathashPhp\SplatHash;

require __DIR__ . '/vendor/autoload.php';

$hash = SplatHash::encode('photo.jpg');      // 16 raw bytes
$string = SplatHash::toBase64Url($hash);     // 22-char base64url string

$sameHash = SplatHash::fromBase64Url($string);
$rgba = SplatHash::decode($sameHash);        // 32 * 32 * 4 raw RGBA bytes

For already decoded pixels:

$hash = SplatHash::encodeRaw($rgbaBytes, $width, $height);

API

  • SplatHash::encode(string|GdImage $source): string
  • SplatHash::encodeRaw(string $rgba, int $width, int $height): string
  • SplatHash::decode(string $hash): string
  • SplatHash::toBase64Url(string $hash): string
  • SplatHash::fromBase64Url(string $value): string

Development

composer install
php tests/run.php

License

MIT