Finder image icons don't display at size 16x16 but load fine at 20x20 pixels

Why would Finder image icons (in column view, list view and icon view in a Finder window) not display an image's content, when no custom icon has been applied. The files are image files (PNG, JPG, TIFF, PSD, etc.) and only the smallest size is affected.

In column view at text size 12 only the generic jpg, or png icon shows, but not the image content itself. If I change the text size (in view options) to 13, the icons slightly increase in size and laod and display correctly.

In icon view the same happens with the icons set to 16x16. As soon as I drag the slider to 20x20, or above all icons show correctly. List view also displays the generic icons, unless the larger icon size is chosen.

I've tried removing the Finder preferences:

~/Library/Preferences/com.apple.finder.plist

I've also tried resetting the icon services cache here:

/Library/Caches/com.apple.iconservices.store

...and removing those found here:

sudo find /private/var/folders/ -name com.apple.iconservices

Permissions (ls -alOe@) on the /private/var/folders/... (found above) also look the same as on clean, bare-bone installations, where the icons are shown correctly, even when only 16x16 pixels.

In column view as example, if left on text size 13 through a reboot, most icons also show after reducing the size of the text to 12, but turning off "Show icon preview" in the view options and on again, leaves the text size 12 icons generic again, while increasing the size to 13 straight away loads the previews.

Why would 20x20 pixel icons load without issues after every restart and 16x16 just sit there? Are they different caches and/or mechanisms?

Running macOS Sierra 10.12.4 on a Retina MacBook Pro11,3 (mid 2014), 2.5GHz, 16 GB RAM, 500.28 GB Apple SSD, Intel Iris Pro 1536 MB VRAM / NVIDIA GeForce GT 750M 2048 MB VRAM. - Resolution: 2880x1800 set to "Default for Display". No external monitor (or other devices for that matter) is attached.

The issue persists over various updates and even running the Installer Assistant (aka Full Installer) over the installation. It also exhibits the same behaviour in safe mode, but a second (new) user has no such issues. The Desktop (outside a Finder window) also has no issues displaying 16x16 icons.

My main interest here is not so much the troubleshooting (since the installation in question is quite dirty and it will be down to me to find the problem), but to understand the mechanism that causes the difference in behaviour between loading the smallest icon size and all other sizes above.


You can modify the minimum thumbnail size in the info.plist (in .../DropboxQL.qlgenerator/Contents/):

<?xml version="1.0" encoding="UTF-8"?>
    ...
    <key>QLSupportsConcurrentRequests</key>
    <false/>
    <key>QLThumbnailMinimumSize</key>
    <real>17</real>
</dict>
</plist>

After editing in a smaller size in the plist and a reboot, you will get a preview for 16x16 pixel icons in the Finder again.

The DropboxQL.qlgenerator usually is located in /Applications/Dropbox.app/Contents/Resources/


Also check for older DropboxQL.qlgenerator in other places and either remove them or also modify the Info.plist.

The priority order from first to least seems to be:

  • app embedded qlgenerators
  • ~/Library/QuickLook/
  • /Library/QuickLook/
  • /System/Library/QuickLook/

While this answer doesn't explain the why, it at least explains the who. The culprit was:

~/Library/QuickLook/DropboxQL.qlgenerator

After removing it, the 16 pixel Finder icons started loading again.

Even though "Finder Integration" was disabled and the application wasn't running it interfered.

While this solves the problem, there is still a bounty to be had for an explanation as to why only the smallest icon size is affected and no others above.

Update: thanks to klanomath, looking at the Info.plist within the DropboxQL.qlgenerator showed a minimum of 17 pixels (in contrast, the system's qlgenerator shows 0):

Quick Look thumbnail minimum size 16

After editing the plist and changing the value to 16, the 16 pixel icons kept on loading.