Latest version: 5.4.25 (Change Log)
Release date: November 8th, 2023
Download AJAX-ZOOM Software


Modules / plugins

Using the modules/plugins is optional! It is not required to use them. You can use AJAX-ZOOM as a stand-alone application or integrate it manually into nearly all systems.

However, if a module for your CMS or e-commerce/shopping cart system is available, it tremendously facilitates and speeds up the integration. Provided that your server meets technical requirements, you can have AJAX-ZOOM up and running within a few minutes. You can install and configure these AJAX-ZOOM modules with just a few clicks and without writing a single line of code.

PrestaShop WooCommerce WordPress shortcode Opencart Magento Oxid Shopware

Available are modules for Magento, Prestashop, WooCommerce (WordPress), Opencart, Shopware, and Oxid. The last two are commonly used in German-speaking countries.


AJAX-ZOOM is a powerful, self-hosted, and universally applicable image zoom & pan software with an additional 360° degree / 3D object rotation functionality, a zoom-on hover extension, and other extensions that create several types of image galleries. It has all features for implementation into responsive and non-responsive layouts.

The development of AJAX-ZOOM takes place in Germany! The first release dates back to the year 2010. From then until now, the software has been continuously improved, enhanced, and supported. AJAX-ZOOM uses JavaScript, jQuery (JavaScript library) and PHP (server-side language).

With this fully-featured solution, it is possible to present even ultra-high-resolution photos and 360 product views online in the best quality. Via the approximately 400 optional parameters and CSS, AJAX-ZOOM is a very flexibly configurable and skinnable software solution. You can disable or change the appearance of all the UI controls. Seamless integration into any web page is guaranteed.

All you need is, e.g., a LAMP (Linux, Apache, MySQL, and PHP) webserver. However, you can also implement AJAX-ZOOM into ASP.NET / IIS web applications without PHP via "Phalanger". For optimal quality and speed, AJAX-ZOOM offers full support for ImageMagick®, although LibGD, which is a part of any default PHP installation, is normally sufficient. The supported image file types are JPG, TIF, PNG, BMP, GIF, and PSD (TIF & PSD only with "ImageMagick").

Other than some of our "competitors", we never claim that AJAX-ZOOM is the best media or image viewer. We also do not brandmark it as "original" concerning specific functionality. As for the "best" viewer software in general, we believe that this highly depends on user preferences and fields of application. Being "original" in this and that, well, do not always believe in what marketing people tend to write lucking any other arguments. But frankly, competition? What competition?


AJAX-ZOOM uses image tiling, multi-resolution technology. It dynamically loads only requested parts of the high-resolution image, which depends on the zoom level, viewport, and screen resolution. As you can also see in the Google Maps application, the view visibly gets sharper on zooming and panning when interacting with the map.

AJAX-ZOOM can process image tiling "on the fly," or it can batch convert thousands of images with just a couple of steps. You will find a PHP-based script in the download package, where you can select folders containing many images and batch-process them automatically. That means that you can easily integrate AJAX-ZOOM into already productive websites within the shortest possible time. Your high-resolution master/source images are not changed.

Specific settings can also set AJAX-ZOOM to protect the source images to the extent that AJAX-ZOOM is suitable for commercial image providers. For example, you can set and adjust options for automatic watermarking of the image tiles and all other cached images. Since the original, large image never loads into browser cache, the entire parent directory, which contains high-resolution images, can be protected, e.g., with ".htaccess" from being accessed over the internet.

However, starting from AJAX-ZOOM version 5.3.0, AJAX-ZOOM can also load the original image ("simpleMode" option) instead of image tiles whenever it is suitable, e.g., on zoom. In this case, the image loads entirely into the browser's cache, which is fine for smaller resolution images. Approximately up to 3 - 4 million pixels, the performance losses are negligible on modern devices. Depending on the license type, you can also set a resolution threshold to either load the original image directly or use multi-resolution image tiles.


AJAX-ZOOM works in all modern browsers but can also work in legacy IE 9 for the most features. On mobile touch devices, AJAX-ZOOM supports pinch-zoom, double-tap, and two fingers zoom & pan. On Windows devices, which have a mouse control and touchscreen, AJAX-ZOOM works excellent for touch interactions on screen too.

It is needless to say that AJAX-ZOOM does not require any browser extensions like Flash, Java, or Silverlight. Only JavaScript must be enabled in the browser. JavaScript is enabled by default in standard configurations for all browsers and consumer devices, achieving near-universal viewing.

API, callbacks, extensions

AJAX-ZOOM has an extensive library with API functions, callbacks, hooks, and many extensions. With the API functions and callbacks, you can create sophisticated web applications without modifying the actual AJAX-ZOOM code. Our team can tailor customized templates (blueprints) to streamline your project. If necessary, we extend the AJAX-ZOOM's core functionality and provide it with the next update.

Extensions include, for example, the hotspot editor, mouseover zoom, or various gallery scripts. Those extensions make use of AJAX-ZOOM API functions or callbacks and are structurally very similar to any jQuery plugin controlled by options.

For instance, you can view such a simple extension in example21. In this extension, AJAX-ZOOM reads several images from different directories and displays them as a thumbnail gallery. The user can switch between the folders by clicking on a folder icon generated automatically. When the user clicks on a thumbnail, that image opens in the AJAX-ZOOM viewer.

The download package contains several more complex extensions than that. For example, even though it is for an exceptional niche usage, example34 could serve as a good case for far-reaching use of the API. In this example, several images of an old newspaper load into a canvas with a thumbnail gallery. Before uploaded to the server, they were subject to an OCR scan, with the position and dimensions of each word stored in XML files. Users can search for a word or expression using the autosuggest field, and if available, retrieve a list of pages with search results below that search field.

When the user clicks on an object representing a search result, the corresponding page loads, and the word found on that page visually gets marked by a rectangular overlay.

These actions, such as switching the page, marking with rectangular overlay, and simultaneous zooming to the selected word, are triggered by AJAX-ZOOM hotspot API methods.

Integration example

There are several different ways to integrate AJAX-ZOOM into your website. The easiest way to get to know about this is to inspect the examples. There is, of course, no best way because it depends on your requirements, the way AJAX-ZOOM should look, and other factors. Therefore, the following example represents one of many possible solutions:

		<!-- Put the placeholder DIV where ever in the <body> -->
		<div id="test">This id a placeholder DIV</div>
		<script type="text/javascript">
		// Create new object
		var ajaxZoom = {};

		// Define the path to the axZm folder
		ajaxZoom.path = "/axZm/";

		// Define your custom parameter query string
		ajaxZoom.parameter = "zoomData=/pic/zoom/fashion/some_image.jpg|/bilder/ordner1/test.png&example=8";

		// The ID of the element where ajax-zoom has to be inserted into
		ajaxZoom.divID = "test";

		<!-- Include the loader file -->
		<script type="text/javascript" src="/axZm/jquery.axZm.loader.js"></script>

You can examine the above code in the HTML source of example9. It loads a simple gallery with horizontal slider but you could also load a 360 / 3D by changing ajaxZoom.parameter to e.g. ajaxZoom.parameter = "3dDir=/pic/zoom3d/Uvex_Occhiali&example=17" where "3dDir" parameter is the path to the folder with 360 images and "example" is the parameter, which defines the configuration set loaded for the player. You can easily extend configuration sets or change existing ones in /axZm/ Read more about that in the AJAX-ZOOM configuration options system explained in detail article.

Iframes, however, are the simplest way to handle many players with e.g. rotatable product views or high-resolution images with zoom at the same time. The AJAX-ZOOM player automatically adjusts itself to the responsive iframe size and can be brought to full screen view by users, which even works in IOS Safari (iPad, iPhone). In example13 you can see many examples of integrations over iframe including lazy loading iframes.

Future versions

We are constantly working to improve the software. Your wishes, objections and suggestions are greatly appreciated. Below are some thoughts on key features, which should be implemented.


Important product milestones

2023-11-09 Added support for PHP 8.2
2022-08-16 Added support for PHP 8.1
2018-08-10 Complete rebuilt of the AJAX-ZOOM batch tool. Amongst other improvements and features, the new batch tool allows to generate 100% of all cache needed for the frontend, set important options over the menu, save these options into an external file to load in a different session and preview images directly in the AJAX-ZOOM player.
2018-06-29 New "simpleMode" option and "Simple" license type released. The "Simple" license does not have number of images restriction (unlimited) and is more affordable.
2017-11-07 Added support for PHP 7.1 / 7.2
2017-08-16 All examples are now responsive out of the box
2017-08-04 Galleries use now smooth and animated swipe gesture for desktop and mobile devices
2017-06-27 Substantial increase in performance of the smoothness during interactions within the player across all devices
2017-06-11 AJAX-ZOOM iFrame embedding can now be triggered fullscreen on mobile devices including IOS
2016-09-30 OXID eCommerce AJAX-ZOOM module released
2016-08-03 Hotspot editor has been heavily revised, new features... ready for integration into modules...
2016-05-04 WordPress WooCommerce AJAX-ZOOM Plugin released
2016-04-25 Integrated 360° / 3D "Product Tour" for mouseover zoom
2016-03-07 Works now on Windows notebooks with touch display including pinch zoom on Windows 8 / 10 with Chrome... (touch events), IE 11 and Edge (pointer events)
2016-01-20 Opencart AJAX-ZOOM Plugin released
2015-12-07 Shopware AJAX-ZOOM Plugin released
2015-09-14 New Magento AJAX-ZOOM module released
2015-07-26 Brought back AJAX-ZOOM ASP.NET Phalanger edition
2015-06-20 PrestaShop AJAX-ZOOM module released
2015-04-07 New fully responsive mouseover zoom
2015-03-15 All examples reviewed or replaced. New functions, several optimizations
2013-02-18 Countless bug fixes and new features such as long-awaited hotspots

Latest blog articles

2019-04-02AJAX-ZOOM «expandable button» extension
2019-02-20AJAX-ZOOM thumbnail slider extension - axZmThumbSlider
2019-01-29Rotate 360 product view on window scroll
2019-01-22The AJAX-ZOOM configuration options system explained in detail
2019-01-15Cleverly set height and proportions of the AJAX-ZOOM parent HTML container in responsive layouts
2019-01-08How to add an HTML element to the AJAX-ZOOM viewer
2018-07-17180° product photography / AJAX-ZOOM «spinBounce» option explained, including photography / rendering examples
2018-07-16How many photos are needed for a 360° product spin?
2018-07-11Amazing multi-resolution 360° anaglyph (stereoscopic) object photography example
2018-07-09Visualization and explanation of the new AJAX-ZOOM «simpleMode» option


The license price primarily depends on the number of different images that display in the AJAX-ZOOM image viewer on a domain. Unlimited options are available. The costs for the regular licenses are one-time payments! You can find the complete license agreement and price list on the download page. Before ordering, we advise you to download and test the demo (light) version within your development environment.

If necessary, we can issue time-limited license keys free of charge. However, AJAX-ZOOM and AJAX-ZOOM modules / plugins for diverse CMS and shopping carts should work with few restrictions without entering any licensing data! If something does not work as expected, there must be a different reason than missing license. Do not hesitate to contact AJAX-ZOOM support if you encounter any technical difficulties.

Comments (138)

Vadim Jacobi 2022-07-06 00:59:17
Vadim Jacobi @Cyril: the next major AJAX-ZOOM version will support WEBP, among many other improvements, new features, and extensions.
cyril 2022-07-05 23:51:52
cyril Hello
is it possible to use WEBP images or only JPG/PNG ?
Vadim Jacobi 2019-07-16 17:13:33
Vadim Jacobi @Robero, there are plenty solutions such as XAMPP to work on local computer running Windows, Linux, or MAC OS-X. Please consider using one of those. Thank you.
Robero 2019-07-14 14:45:49
Robero Your code is great, but I would need to have it work on a local computer without PHP. Is it possible? tx.
Vadim Jacobi 2018-09-04 00:48:30
Vadim Jacobi @Nascimento: AJAX-ZOOM works with a sequence of individual images. They need to have unique file names and uploaded into a folder. Then, you point the product tour editor to this folder, create your presentation, save it, and use an example35_x to load... to skip all that rather complicated material I suggest that you use WordPress, which you probably use anyway and the AJAX-ZOOM Plugin for WooCommerce, see under Modules -> WordPress (short code) on this page. Going this way you do not need to write a single line of code and have the possibility to upload the images over the WP backend, create your product tour there, generate a short code and place it anywhere on your WP page. Hope that helps. If there are still any questions, do not hesitate to use the contact form. We do not bite :)
Jonathas Nascimento 2018-09-03 20:01:36
Jonathas Nascimento Hi, Mr Jacobi.
How exactly the "360º Produkt tour" works? Need I to upload a sequence of individual images that will be showed as in the exemple? Or a .psd file (or other specific type of file) with the complete sequence of images? Sorry if my question sounds stupid, but I am a photographer and I didn´t understand how it works exactly.

Best regards.
Vadim Jacobi 2018-08-16 17:30:23
Vadim Jacobi @Max: the original, high-resolution image does not need to be loaded into the player. The path to the source of this image can be protected from being accessed over http. This can be achieved by e.g. htaccess rule on apache servers or others on different servers. If you want a 100% protection, you should consider enabling the convenient AJAX-ZOOM wtrmrk option, where it is possible to let the software also watermark the image tiles at different pyramid levels automatically. As the watermark, you can define a PNG image of your choice.
Max 2018-08-16 05:36:56
Max Hello. Can you please tell me, are the images that in this player somehow secured from downloading via parsing the website?
Can you provide a comparing table with some cheaper player or maybe a list of achievements for this player?
Vadim 2018-06-30 14:47:36
Vadim @mandeep: from what I know it is not possible to use AJAX-ZOOM in a project
mandeep 2018-06-30 13:13:42
mandeep Sir,
can we use 3d zoom with,
or can you customized so we can use with our project
Vadim Jacobi 2016-09-20 11:21:24
Vadim Jacobi @ag: yes, you can download AJAX-ZOOM and test the hotspots with your own spin images.
ag 2016-09-20 11:00:42
ag Want to know more about hotspot integration. will free version file works ? wanted to test using difrent images in place of cycle.
Vadim Jacobi 2016-04-22 19:17:48
Vadim Jacobi Hello Andrew. I am not sure what you are going to do. Is it about "3D" with multilevel, meaning that you will have more than just one row, like this one? -

If so, how do you get 5000 images? This would mean that you have also about 70 vertical rows which is way too much I would say. The highest we have is with 810 images, but it is more an example of what is possible and not how one should do it :-)
Andrew 2016-04-22 19:06:41
Andrew Hi Vadim, I'm thinking of using Ajax-Zoom for a full X-Y-Z-360 image of about 3000 pixels per frame. I need it to be smooth so would use at least 72 frames per rotation. How would Ajax Zoom cope with loading >5000 hi-res images? Would it simply load the relevant tile from the image pyramid?

Many thanks,

Maniraj 2015-01-13 07:18:56
Maniraj Really zoom over function will very nice.
Vadim Jacobi 2014-08-29 20:32:24
Vadim Jacobi Enzo: there are quite many options to work with hotspots and ofcourse you can use different images, sizes, actions and so on. If you could send me some more detailed draft or maybe even a mockup of what you will be developing, then I could tell you if this is possible with AJAX-ZOOM.
Enzo 2014-08-29 20:07:25
Enzo Hello, can I have more options to select on hotspot, like colors or other? My idea is to integrate ajax -zoom into my website ( for configuring bikes(frames, forks, wheel, etc).
Thank you
Vadim Jacobi 2014-06-18 19:22:18
Vadim Jacobi Hello Hans, stitching is not provided. This is a task of desktop software and there is plenty of it on the web. Zooming to certain coordinates is possible with the API zoomTo (please check the documentation). It is possible to define zoom level with x1, y1 coordinates or x1, y1, x2, y2 coordinates and some other parameters. Next version 4.1.9 will even provide an online utility to ease the setup of defining these values.
Hans 2014-06-18 18:59:55
Hans 1) Do you provide stitching of multiple (40 - 50) high res pictures?

2) Then, do you provide zoom at a certain (X,Y) location?
Marsh Jaison 2014-05-27 11:47:06
Marsh Jaison hi can we do a image rotate
Vadim Jacobi 2014-03-21 15:49:37
Vadim Jacobi Hello Mark! Interesting question. I would say more yes than no. Depending on the layout and functionality of your application a different API set could be used. I would suggest that you contact us directly with more detailed information, thanks.
mwillard 2014-03-20 18:17:01
mwillard I am curious if the solution has image draping option. Thanks.
Kobayashi Online 2014-01-28 17:14:54
Kobayashi Online We could not be more thrilled with the excellent service and level of commitment demonstrated by Vadim. He provided us with a 3D plugin for a site we were developing, He even went in so far as to Skype us when we needed technical support. Everyone at Kobayashi would like to give Vadim a big, warm thank you!
Vadim Jacobi 2013-10-16 10:21:32
Vadim Jacobi Max: you might want to take a look at this API:

There is also an option to enable this switching for internal built galleries:
Max 2013-10-16 04:56:14
Max It would be great if you had the before-after function. Two photos at the same dimensions and the possibility to switch from one to another while keeping the same position and zoom from the one before - this way all the details of the after image would be more relevant. Let me know if you have this feature and I've missed it.
Thank you and congratulations for a great work!
newwebsitethemes 2013-08-26 08:13:12
newwebsitethemes Very useful and great zooming effect using jquery and css coding, absolutely design for product gallery, thank you for posting this lists.
Carsten 2013-08-23 20:23:28
Carsten We are really looking forward to build it into our Shop System
safyhost 2013-03-28 08:47:42
safyhost really like the zoom option is just amazing..thanks..:)
Vadim Jacobi 2013-02-18 22:31:38
Vadim Jacobi Hi People. Thanks for all your suggestions and bug reports. We finally released Ver. 4.0 with clickable hotspot support. Take a look at There is an other example which is worth to take a look at: If you have any other suggestions and remarks, do not hesitate to drop us you thoughts.

Leave a Comment

Looking for a place to add a personal image? Visit to get Your own gravatar, a globally-recognized avatar. After you're all setup, your personal image will be attached every time you comment.

To use live-support-chat, you need to have Skype installed on your device. In case live support over Skype is not available immediately, please leave us a message or send an email by using the contact form.

We answer every inquiry or question that relates to the AJAX-ZOOM software!