PHPackages                             jkphl/squeezr - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. jkphl/squeezr

ActiveLibrary[Image &amp; Media](/categories/media)

jkphl/squeezr
=============

Another take on device-aware adaptive images and server side CSS3 media queries, made by Joschi Kuphal (@jkphl), licensed under the terms of the MIT license

v1.5.1(9y ago)809204[7 issues](https://github.com/jkphl/squeezr/issues)[1 PRs](https://github.com/jkphl/squeezr/pulls)MITPHPPHP &gt;=5.3.0

Since Jan 4Pushed 8y ago7 watchersCompare

[ Source](https://github.com/jkphl/squeezr)[ Packagist](https://packagist.org/packages/jkphl/squeezr)[ RSS](/packages/jkphl-squeezr/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (5)Versions (4)Used By (0)

squeezr [![Build Status](https://camo.githubusercontent.com/11e2874d5fb9313917d361ffee90d51eedfab9de4f05862f9fd41ed1cf0d8d5b/68747470733a2f2f7472617669732d63692e6f72672f6a6b70686c2f73717565657a722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/jkphl/squeezr)
==============================================================================================================================================================================================================================================================================

[](#squeezr-)

is basically just another take on improving browsing experience across the ever-growing multitude of web enabled devices. It can help you preserve your visitor's bandwidth by **shrinking your website's images and CSS files** to fit the device-specific limitations.

*squeezr* can easily be applied to any website that meets the [requirements](#requirements) – be it a collection of plain HTML files or rendered by a full-blown CMS – and does not require any remarkable change to your source code. As a means of [responsive web design](http://www.abookapart.com/products/responsive-web-design) it is to be used in combination with [fluid image](http://unstoppablerobotninja.com/entry/fluid-images/) techniques.

What squeezr does
-----------------

[](#what-squeezr-does)

Currently *squeezr* consists of two engines that can be used independently of each other:

- The **image engine** automatically resizes images so that they don't exceed your visitor's screen size. The resulting image variants get cached to disk for optimized follow-up request performance.

    *squeezr's* image engine is heavily inspired and influenced by [Matt Wilcox' Adaptive Images](http://adaptive-images.com/). At the same time, *squeezr* tries to overcome some drawbacks of Matt's approach.
- The **CSS engine** creates and caches device-specific CSS file variants by stripping out irrelevant CSS3 media query sections on the server side before delivering them to the client. Optionally also CSS minification can be applied (using [Minify](https://github.com/mrclay/minify)), potentially reducing CSS file size even further.

You can find a complete description of *squeezr's* functions and configuration options at .

Installation
------------

[](#installation)

1. Get the latest version by cloning this repository or downloading and unpacking an archive from the [*squeezr* website](http://squeezr.it).
2. Open a console, switch to *squeezr*'s root directory and let [Composer](https://getcomposer.org) pull in all required dependencies: ```
    composer install
    ```
3. Customize the 3 configuration files (common / global settings file and one for each of the engines) in the `/squeezr/conf/*` directory to your needs.
4. Upload the `/squeezr` directory to your website root and make sure the webserver has write privileges for the subdirectory `/squeezr/cache`.
5. Upload the included `.htaccess` file to your website root **only in case you don't already have a file with this name**. Otherwise, thouroughly incorporate the contained rewrite rules into your existing `.htaccess`.
6. Include the client JavaScript into your HTML pages. Please see the [*squeezr* website](http://squeezr.it#client) for details on this. That's all – you're done now and *squeezr* should be up and running.

Please visit the [*squeezr* website](http://squeezr.it) for further instructions and configuration options.

Requirements
------------

[](#requirements)

- On the client side:
    - JavaScript support
    - Cookie support
- On the server side:
    - Apache 2.2+ with mod\_rewrite
    - PHP 5.3+
    - GD (Image engine only; mostly standard with PHP)

Legal
-----

[](#legal)

Copyright © 2017 Joschi Kuphal  / [@jkphl](https://twitter.com/jkphl)

As of version 1.0.3, *squeezr* is licensed under the terms of the [MIT license](LICENSE.txt). Before that, a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/) applied.

###  Health Score

33

—

LowBetter than 74% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 97.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

3409d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9654aeebce6e58572ec7ee6e8b30a2f8f41a54a3c7a9580d1df090996f5cfdbb?d=identicon)[jkphl](/maintainers/jkphl)

---

Top Contributors

[![jkphl](https://avatars.githubusercontent.com/u/4446936?v=4)](https://github.com/jkphl "jkphl (40 commits)")[![benjibee](https://avatars.githubusercontent.com/u/620119?v=4)](https://github.com/benjibee "benjibee (1 commits)")

---

Tags

cssimagequerymediaresponsiverwdCSS3adaptivedevice-aware

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jkphl-squeezr/health.svg)

```
[![Health](https://phpackages.com/badges/jkphl-squeezr/health.svg)](https://phpackages.com/packages/jkphl-squeezr)
```

###  Alternatives

[spacecatninja/imager-x

Ninja powered image transforms.

29390.0k23](/packages/spacecatninja-imager-x)[heyday/silverstripe-responsive-images

Configure and send a series of image size options to the client without loading any resources until a media query can be executed.

5387.7k6](/packages/heyday-silverstripe-responsive-images)[nilportugues/sitemap-component

Standalone sitemap builder 100% standards compliant. Build for PHP5.3 and above.

5055.1k1](/packages/nilportugues-sitemap-component)[urlbox/screenshots

Use urlbox to easily generate website thumbnail screenshots from a URL

14250.4k](/packages/urlbox-screenshots)[sonrisa/sitemap-component

Standalone sitemap builder 100% standards compliant. Build for PHP5.3 and above.

5117.5k](/packages/sonrisa-sitemap-component)[somehow-digital/typo3-media-processing

Media Processing

101.1k](/packages/somehow-digital-typo3-media-processing)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
