<p>Great question! Let's define some terminology to make this easier to discuss...</p>

<ul>
<li><strong>Static images:</strong> Uploaded via FTP (or similar). Not tied into the CMS in any meaningful way.</li>
<li><strong>Dynamic images:</strong> Uploaded via the Control Panel (or synced after FTP upload). Can easily be related to entries and other elements, or even have fields assigned <em>directly to your assets</em>.</li>
</ul>

<p>Static images are the more "traditional" way of storing images, just as you would with a non-CMS website. There are absolutely some good reasons to use static images... for example, anything on your website which will basically never change (like the company logo).</p>

<p>Dynamic images (aka "Assets") are ideal for dynamic content. If you're writing articles with images, this is a perfect use-case. There are far more complex examples as well, but this is a great starting point.</p>

<p>If an image makes more sense being <em>static</em>, then let it be static. Conversely, if you believe it needs to be <em>dynamic</em>, then make it dynamic. <strong>Don't try to force an image to be something that it's not.</strong> With just a little bit more experience, it will quickly become obvious which kinds of images should be static vs dynamic.</p>

<p>Here's how I've got my folder structure setup...</p>

<pre><code>/craft
/public
    /assets
        /(ASSET SOURCE FOLDER 1)
        /(ASSET SOURCE FOLDER 2)
        /(ASSET SOURCE FOLDER 3)
    /resources
        /css
        /js
        /images
</code></pre>

<p>My <strong>static</strong> images go into <code>/public/resources/images</code>. They are then referenced just as if the site were not using a CMS at all.</p>

<p>My <strong>dynamic</strong> images go into various subfolders within <code>/public/assets</code>. Each subfolder maps directly to an Asset Source, defined in the CMS control panel.</p>

<blockquote>
  <p><strong>NOTE:</strong></p>
  
  <p>Make sure your assets subfolders have proper read/write permissions! Craft will need to interact with those files when uploading, and also when creating image transforms.</p>
  
  <p>Permissions for your static folder can be much stricter... Those will only need to be read, never written to.</p>
</blockquote>

<p>Of course, this all assumes that you're storing your dynamic images in a <strong>local folder</strong>... Things are slightly different when you want to keep your assets in the cloud (S3, Rackspace, Google), but that's a <a href="https://craftcms.stackexchange.com/q/574/45">different conversation altogether</a>.</p>

<p>Hope that helps!</p>

CC BY-SA 3.0
2015-07-23T16:32:06.593Z
Another reason to use a static image: you refer to it in your css.
Marion Newlevant
CC BY-SA 3.0
2015-07-23T16:40:49.070Z
@MarionNewlevant Great point!
Lindsey D
CC BY-SA 3.0
2015-09-09T07:48:10.857Z
Thank you Lindsey D very much.  Very clear!  Sorry it took so long to vote and accept...I went on vacation.  Jason
Jason
CC BY-SA 3.0
2015-07-22T18:36:04.827Z
2015-07-22T18:36:04.827Z
2017-04-13T12:50:59.930Z
Lindsey D
<p>Can't speak for anyone else, but I have an <code>img</code> and a <code>fonts</code> directory in my <code>public</code> directory, where I put static image files and fonts.</p>

<p>One positive about putting it in the assets is that you have transforms available for them, and you can attach metadata if you want to. There might be performance implications to it though, but I can't imagine that would matter unless you have a lot of traffic.</p>

<p>I've made a <a href="https://www.npmjs.com/package/generator-origin-craft" rel="nofollow">Yeoman generator</a> to quickly scaffold everything (directory structure, build system, commonly used frameworks). It's using Grunt for builds, and packs everything into a nice little tarball that you can move when you need to deploy it.</p>

CC BY-SA 3.0
2015-07-22T08:30:34.300Z
2015-07-22T08:30:34.300Z
megatrond
<p>For me, it usually breaks down like this:</p>

<p>Static assets are unrelated to the content of the website. They are <em>design related</em>.
Dynamic assets are content. They <em>have meaning</em>.</p>

<pre><code>/craft
/public
  /assets (The website design, these are all static)
    /css
    /images
    /fonts
  /content (Stuff uploaded through Craft by users, all dynamic)
</code></pre>

CC BY-SA 3.0
2017-10-19T07:46:36.283Z
2017-10-19T07:46:36.283Z
Matt Wilcox
<p>I am very new to Craft CMS and going through the introduction videos on Mijingo.  I am new developer also so please answer in easy terms if you can. I need to know what the difference is between an image I might drop straight into the assets file (if I choose) or the uploaded ones through Craft. I understand that you want to use images in the CMS they NEED to be uploaded through Craft. BUT why would you use "static" images straight into the assets file? My colleague said if you want to use interface pictures you drop them straight in. But I don't understand what that means. Thanks very much and have a great day.</p>

<p>Jason</p>

<p>P.S. Please say why if this was a bad question so I can become better at asking on Stack Exchange. Thanks again!</p>

CC BY-SA 3.0
2017-10-18T13:12:14.033Z
Static images are the most good way of storing images and the static images also good for use.I am also use static images.
Alvina Jennifer
<assets><craft-features>
Images uploaded or static
# Images uploaded or static

(Asked by: username_0 on 2015-07-22)

I am very new to Craft CMS and going through the introduction videos on Mijingo. I am new developer also so please answer in easy terms if you can. I need to know what the difference is between an image I might drop straight into the assets file (if I choose) or the uploaded ones through Craft. I understand that you want to use images in the CMS they NEED to be uploaded through Craft. BUT why would you use "static" images straight into the assets file? My colleague said if you want to use interface pictures you drop them straight in. But I don't understand what that means. Thanks very much and have a great day.

Jason

P.S. Please say why if this was a bad question so I can become better at asking on Stack Exchange. Thanks again!

**Tags:** assets, craft-features
> **Comments:**
> **username_1**: Static images are the most good way of storing images and the static images also good for use.I am also use static images.  

---

## 3 answers

### Answer by username_2 on 2015-07-22. Score: 4 | Accepted answer

Great question! Let's define some terminology to make this easier to discuss...

Static images: Uploaded via FTP (or similar). Not tied into the CMS in any meaningful way.
Dynamic images: Uploaded via the Control Panel (or synced after FTP upload). Can easily be related to entries and other elements, or even have fields assigned directly to your assets.

Static images are the more "traditional" way of storing images, just as you would with a non-CMS website. There are absolutely some good reasons to use static images... for example, anything on your website which will basically never change (like the company logo).
Dynamic images (aka "Assets") are ideal for dynamic content. If you're writing articles with images, this is a perfect use-case. There are far more complex examples as well, but this is a great starting point.
If an image makes more sense being static, then let it be static. Conversely, if you believe it needs to be dynamic, then make it dynamic. Don't try to force an image to be something that it's not. With just a little bit more experience, it will quickly become obvious which kinds of images should be static vs dynamic.
Here's how I've got my folder structure setup...
/craft
/public
    /assets
        /(ASSET SOURCE FOLDER 1)
        /(ASSET SOURCE FOLDER 2)
        /(ASSET SOURCE FOLDER 3)
    /resources
        /css
        /js
        /images

My static images go into /public/resources/images. They are then referenced just as if the site were not using a CMS at all.
My dynamic images go into various subfolders within /public/assets. Each subfolder maps directly to an Asset Source, defined in the CMS control panel.

NOTE:
Make sure your assets subfolders have proper read/write permissions! Craft will need to interact with those files when uploading, and also when creating image transforms.
Permissions for your static folder can be much stricter... Those will only need to be read, never written to.

Of course, this all assumes that you're storing your dynamic images in a local folder... Things are slightly different when you want to keep your assets in the cloud (S3, Rackspace, Google), but that's a different conversation altogether.
Hope that helps!

> **Comments:**
> **username_3**: Another reason to use a static image: you refer to it in your css.  
> **username_2**: @MarionNewlevant Great point!  
> **username_0**: Thank you Lindsey D very much.  Very clear!  Sorry it took so long to vote and accept...I went on vacation.  Jason  

---

### Answer by username_4 on 2015-07-22. Score: 2

Can't speak for anyone else, but I have an `img` and a `fonts` directory in my `public` directory, where I put static image files and fonts.

One positive about putting it in the assets is that you have transforms available for them, and you can attach metadata if you want to. There might be performance implications to it though, but I can't imagine that would matter unless you have a lot of traffic.

I've made a [Yeoman generator](https://www.npmjs.com/package/generator-origin-craft) to quickly scaffold everything (directory structure, build system, commonly used frameworks). It's using Grunt for builds, and packs everything into a nice little tarball that you can move when you need to deploy it.


---

### Answer by username_5 on 2017-10-19. Score: 1

For me, it usually breaks down like this:
Static assets are unrelated to the content of the website. They are design related.
Dynamic assets are content. They have meaning.
/craft
/public
  /assets (The website design, these are all static)
    /css
    /images
    /fonts
  /content (Stuff uploaded through Craft by users, all dynamic)


---

