PHP class for basic interaction with the TinyPNG API.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


PHP class for basic interaction with the TinyPNG API. TinyPNG is a great site to optimise and reduce the size of your PNG images that you use.


To be able to use this you will require an API key from the TinyPNG team, you can do this by getting in touch with them through their Twitter or email.


As TinyPNG is funded by donations alone it is worth considering the usage that you force upon their API before excessively using it.

Getting Started

There are 2 methods that you need to use, once you have created a new instance, begin by invoking a new instance of the class with your API key as the only parameter:

$api = new TinyPNG('API_Key_Here');

Next we need to send the request to shrink an image using the shrink method, which takes a string path to the file:


This method simply returns true or false depending on whether the request succeeded. You can then get the response of the shrink request through a subsequent call to getResult().

Get the result as object using the following method

$result = $api->getResult();

To get the result object as JSON call

$resultJson = $api->getResultJson();


##In the wild This API is used in a few other projects around the internet:

  • TinyPNGCache - cache and serve your PNG images on the fly in a reduced and optimised form