# Does Ghost make multiple image sizes?

**URL:** <https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438>\
**Category:** Using Ghost\
**Created:** [April 9, 2024, 3:34am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438 "2024-04-09T03:34:34Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![spendlove](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/spendlove/32/29614_2.png) [@spendlove](https://forum.ghost.org/u/spendlove)\
**Post date:** [April 9, 2024, 3:34am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/1 "2024-04-09T03:34:34Z")

</div>

I saw a video that briefly described how Ghost takes a huge photo file and optimizes it for the web, which is good. But what is it doing behind the scenes? Is it making multiple copies of the same image, so it can serve the most appropriate size based on which type of device a user is using?

Thank you.

---

<div class="post-metadata">

**Author:** ![jannis](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jannis/32/39718_2.png) [@jannis](https://forum.ghost.org/u/jannis)\
**Post date:** [April 9, 2024, 5:38am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/2 "2024-04-09T05:38:18Z")

</div>

> [@spendlove](#):
>
> Is it making multiple copies of the same image, so it can serve the most appropriate size based on which type of device a user is using?

Yes, that is what’s happening.

The different sizes are controlled on a theme level:

> **[How to use responsive images in Ghost themes](https://ghost.org/docs/themes/assets/)**
>
> Ghost themes support automatic image resizing, allowing you to use a minimal handlebars helper to output different image sizes.

---

<div class="post-metadata">

**Author:** ![spendlove](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/spendlove/32/29614_2.png) [@spendlove](https://forum.ghost.org/u/spendlove)\
**Post date:** [May 9, 2024, 12:07am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/3 "2024-05-09T00:07:03Z")

</div>

Is there an easy way to determine if the theme I paid for is making use of this feature?

---

<div class="post-metadata">

**Author:** ![jannis](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jannis/32/39718_2.png) [@jannis](https://forum.ghost.org/u/jannis)\
**Post date:** [May 9, 2024, 5:36am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/4 "2024-05-09T05:36:25Z")

</div>

Yeah, just have a look in the `package.json` file and check if there is an `image_sizes` configuration in it.

---

<div class="post-metadata">

**Author:** ![Kevin](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/kevin/32/32_2.png) [@Kevin](https://forum.ghost.org/u/Kevin)\
**Post date:** [May 9, 2024, 6:22am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/5 "2024-05-09T06:22:31Z")

</div>

> [@jannis](#):
>
> The different sizes are controlled on a theme level:

To be clear that’s only true for images used by the theme such as on index pages. Within post content all images are resized using Ghost default content sizes independent of any theme settings.

---

<div class="post-metadata">

**Author:** ![jannis](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/jannis/32/39718_2.png) [@jannis](https://forum.ghost.org/u/jannis)\
**Post date:** [May 9, 2024, 8:10am UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/6 "2024-05-09T08:10:03Z")

</div>

Ohh nice. Thank you for clarifying! I somehow missed that and wasn’t aware of that 😃

---

<div class="post-metadata">

**Author:** ![spendlove](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/spendlove/32/29614_2.png) [@spendlove](https://forum.ghost.org/u/spendlove)\
**Post date:** [May 9, 2024, 8:01pm UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/7 "2024-05-09T20:01:18Z")

</div>

@jannis, I’m not sure if these dimensions are used to squish a larger file into a smaller size, or if it’s actually making use of smaller image files as needed.

 ![sizes](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/d/d/dd84798e3f5a96cde50b4b84162ed5ea7aa1bbe0.jpeg)

---

<div class="post-metadata">

**Author:** ![RyanF](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/ryanf/32/17448_2.png) [@RyanF](https://forum.ghost.org/u/RyanF)\
**Post date:** [May 9, 2024, 8:08pm UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/8 "2024-05-09T20:08:10Z")

</div>

Ghost generates the image size when it’s requested. That image sized is then saved for future use.

The package.json specifies which images sizes should be available. The theme then needs to make use of those image sizes like this:

```html
<img class="post-image"
    srcset="{{img_url feature_image size="s"}} 300w,
            {{img_url feature_image size="m"}} 600w,
            {{img_url feature_image size="l"}} 1000w,
            {{img_url feature_image size="xl"}} 2000w"
    sizes="(max-width: 1000px) 400px, 700px"
    src="{{img_url feature_image size="m"}}"
    alt="{{#if feature_image_alt}}{{feature_image_alt}}{{else}}{{title}}{{/if}}"
/>

```

As @jannis said, you can learn more here → [How to use responsive images in Ghost themes](https://ghost.org/docs/themes/assets/)

The additional optimization themes can make is to also transform the file format because, e.g., `webp` images are generally much smaller in size than `jpeg`.

---

<div class="post-metadata">

**Author:** ![Farranco](https://sea1.discourse-cdn.com/flex015/user_avatar/forum.ghost.org/farranco/32/37126_2.png) [@Farranco](https://forum.ghost.org/u/Farranco)\
**Post date:** [August 16, 2025, 11:04pm UTC](https://forum.ghost.org/t/does-ghost-make-multiple-image-sizes/46438/9 "2025-08-16T23:04:53Z")

</div>

How do I do these for an asset image in the assets folder of the theme? How do I reference it? As the only way I know is:

```auto
{{asset '/images/cover.png'}}

```

But adding that instead of “feature\_image“ makes it break and if I add just “/images/cover.png“ to the image\_url helper it does nothing.
