Optimize with ImageEngine

Register Now!

ImageEngine is an automatic image optimizer built on WURFL device detection. WURFL will detect the device capabilities, including screen size and image format support, resize and optimize the image accordingly. That's why we call it the ImageEngine.

ImageEngine is not only for mobile as it also supports the emerging Client Hint standard, making it the perfect companion for Responsive Images.

Image weight is by far the most important challenge to address to optimize a web page for the plethora of devices on the web today. This is why ImageEngine will instantly give your users a better experience by reducing page load time. Not to mention the reduced data cost.

ImageEngine works as a CDN and can be referenced by the unique hostname you get assigned, or by pointing your DNS to that hostname.

A 30 day trial of ImageEngine is available at no charge. Just sign-up and start testing.

To use ImageEngine you need to register an account. When you have signed up, you get a unique hostname. This hostname is used to identify you account and is the first part of the host name:{token}.imgeng.in

Even if you can point your DNS to your ImageEngine host directly, the easiest way to test ImageEngine is to simply prefix your image URL with the ImageEngine hostname you got assigned. In the below example, the size of the image will be equal to the detected screen size of the requesting device.

<img src="//{token}.imgeng.in/https://web.wurfl.io/assets/sunsetbeach.jpg">

However you may also pass a set of parameters to the ImageEngine service as seen below. The below example would return an image sized to 50% of the screen width. A full list of parameters can be found here.

<img src="//{token}.imgeng.in/pc_50/https://wurfl.io/assets/sunsetbeach.jpg">

ImageEngine supports the emerging standard Client Hints. To enable this feature, include the below meta tag in your head element:

<meta http-equiv="Accept-CH" content="DPR, Viewport-Width, Width">

See what ImageEngine can do for your site!


Enjoy full HTTP/2 support out of the box. ImageEngine will automatically serve your images over HTTP/2 when TLS is enabled. I.e. if you reference your images using https://. HTTP/2 has significant impact on speed and lead-time of your images.

Client Hints

ImageEngine has full support for Client Hints. Client Hints enables ImageEngine to be extremely accurate in determining optimal size and format for images. Even for responsive designs with completely fluid images. Think of it as server side responsive images.


WebP is one of the most efficient image formats on the web, yet not widely used. ImageEngine will convert any format to WebP for browsers supporting this format. This will save your end users for additional bytes to download.

Device Detection with WURFL.js

WURFL.js is JavaScript that detects device models of smartphones, tablets, smart TVs and game consoles accessing your website. Starting with iOS 12.2, only WURFL.js Basic, Standard, and Pro services will detect iPhone and iPad models. The free WURFL.js Lite will only return generic iPhone and iPad results.

To use the free WURFL.js Lite, all you need to do is sign up for an account and insert the following script into your page.

<script type="text/javascript" src="//wurfl.io/wurfl.js"></script>

Once loaded, the snippet will quickly request WURFL device capabilities from ScientiaMobile’s highly-available cloud-based WURFL detection solution. The WURFL results are delivered back to you, resulting in a JSON object. For example, you can check if a device is a smartphone by testing the form_factor WURFL capability.

if (WURFL.is_mobile === true && WURFL.form_factor === "Smartphone") {
    // targetSmartPhoneDevices();

Or, you can test for an individual iPhone model by using the complete_device_name. (Note that full iPhone model is only available in commercial WURFL.js Basic, Standard, or Pro licenses.)

if (WURFL.complete_device_name === "Apple iPhone XR") {
    // targetAppleiPhoneXR();

For example, your current device looks like:

    "is_mobile": <% WURFL.is_mobile %>,
    "complete_device_name": <% WURFL.complete_device_name %>,
    "form_factor": <% WURFL.form_factor %>

In development, you may pass debug=true to the query string to disable any caching.

Below are the capabilities included in the free WURFL.js Lite:

Concatenation of brand name, model name and marketing name (where available) of a device into a single string. (Note that full iPhone model is only available in commercial WURFL.js Basic, Standard, or Pro licenses.)
May return any of these values: DesktopTabletSmartphoneFeature PhoneSmart-TVRobotOther non-MobileOther Mobile
Returns true if the device is wireless (e.g. Wi-Fi, 3G, LTE). Specifically, a tablet or mobile phone is considered wireless. Otherwise, a desktop or laptop are false.

Need a more detailed analysis? WURFL.js Basic, Standard and Pro plans include 24 WURFL device capabilities.

Based on this device intelligence, you can build code to support mobile optimization, more targeted and effective advertising, and collect analytics on device capabilities. For example, this current page uses WURFL.js to optimize the UX depending on what type of device you are using to visit it.

  1. Desktop devices see a video background on the top of the page.
  2. Mobile devices see a background image.
  3. Navigation is optimized to your device's form factor.
  4. Google Analytics is collecting information about the device through custom variables.

Need a Commercial License?

WURFL.js Basic, Standard, or Pro offer a commercial license that also includes:

  • • Full iPhone and iPad model detection
  • 24 device capabilities
  • • Custom CNAME alias and SSL certificates
  • • Ticketed Enterprise support
  • • Browser caching for improved performance


If you monetize your site using advertising, you may rely on multiple ad networks. Using WURFL.js, you can direct mobile traffic to ad networks that more effectively target mobile users. You can also pass on more complete information (e.g. iPhone model) that may enhance bids and increase your CTR.

iPhone Model

Apple makes detection of specific models of iPhone and iPad very difficult. With commercial WURFL.js Basic, Standard, or Pro plans, you receive a detailed description of the full model name (e.g. “Apple iPhone XR”), along with many other device parameters. You can pass this information on to your analytics platform (e.g. Google Analytics) or use it to customize experiences to specific iPhone models.


Designing a great user experience starts with knowing your users. WURFL.js provides information that is not available elsewhere. This information can be put into analytics tools such as Google Analytics and be the basis for custom reports that are more accurate than the standard ones.