Image Source Control


Did you ever forget to add the source to an image in the frontend, and the lawyer of the copyright holder knocked on your door due to missing credits?

Image Source Control (ISC) helps to prevent this situation.

Just add the image source in the backend and choose how to display it on your website.

Image Source layouts

Choose between different credit displays:

  • list all image sources below the content of a specific page or place the list manually
  • credit as a caption above the image
  • embed a complete credit list of all images and photos on your website

Frontend Features

  • display credits for images in the content, galleries, shortcodes, and featured images
  • define the layout and position of the image source
  • attach the image source list below the content automatically or using a shortcode or PHP function
  • display image sources on archive pages
  • block editor: detects image sources for the image, cover image, and gallery blocks
  • link to the copyright holder and include a link to the image license

Backend Features

  • manage image source within the Media dashboard and in the settings of the Image and Cover Image blocks
  • quickly assign a centrally defined source to any image and choose three options: hide photo sources for these images, show a specific source (e.g., your name), or the uploaders name
  • warn about missing image sources
  • manage, display, and link available licenses


English, German


Take a look at the Image Source Control Manual.

Find a list of missing images sources and other debug tools under Media > Image sources

Automatic image sources

You can choose to display image sources automatically below the post content or as a small caption overlay above your images. Just visit the settings page of the plugin to enable those options.

Manually included image sources on pages/posts

You can add the image source list manually to pages or posts via the shortcode [isc_list] in your content editor or a text widget.

Use [isc_list id="123] to show the list of any post or page.

Use the PHP code <?php if( function_exists('isc_list') ) { isc_list(); } ?> within your template files.

List all image sources

You can add a paginated list with ALL attachments and sources attached to posts and pages using the shortcode [isc_list_all].

Use [isc_list_all per_page="25"] to show only a limited number of images per page.

Use [isc_list_all included="all"] to show all attachments in the list, including those not explicitly attached to a post.

The plugin searches your post content and thumbnail for images (attachments) and lists them if you included at least the image source or marked it to use the default image source.

Legal Notice

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


  • edit image source settings in the Image block
  • display a list with all images of your site and their sources
  • display image source within the image
  • basic settings to customize how to display image sources
  • settings to manage image source licenses


This section describes how to install the plugin and get it working.


  1. Upload through the ‘Plugin’ menu in your WordPress backend
  2. Activate the plugin
  3. Visit Settings > Image Control for the main settings

See the Instructions section here.


January 19, 2022
ISC is really an awesome plugin for handling your image credits and sources. Works like a charm. The image overlay is really nice and a perfect solution to display the necessary informations. Bonuspoints: Had asmall issue with some images on my website, support was super fast and came up with a solution for that.
August 19, 2021
Tolles Plugin mit vielen Möglichkeiten
May 28, 2021
I have been using this plugin on quite a lot of pages and it is extremly helpful with keeping track of image rights and the (often) required backlinks as well as relevant information that needs to be associated right where the image is being used. Besides, the support is top-notch! So if you are using media on your website (which I bet you do) then here is a shout-out for Image Source Control!
January 15, 2021
We have been using ISC for many years now. The plugin is easy and lightweight. It's also amazingly easy to add new picture licences. The integration with the media library is great. The best thing about this plugin, however, is the great developer and the amazing support you will receive in the Wordpress forum. THANK YOU and keep up the great work! 🙂
Read all 29 reviews

Contributors & Developers

“Image Source Control” is open source software. The following people have contributed to this plugin.


“Image Source Control” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Image Source Control” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • fixed AMP validation errors
  • prevent contributors from updating unrelated post meta, props to wpscan


  • added isc_source_list_line and isc_source_list filter hooks to allow developers to manipulate the source list output
  • added isc_public_source_url_html filter to manipulate the source link HTML
  • allow source injection into content outside the loop when using Oxygen page builder


  • split admin scripts to load only those that are relevant for a given page
  • fixed script issue on Image Sources debug page


  • added compatibility with the upcoming Pro version
  • Pro: show an overlay for images outside of the main content (e.g., feature images and some page builder)
  • add option to strip overlay output from any markup and use hooks to define own styles
  • find sources for images after moving the site to another URL


  • only load ISC-related scripts on the plugin’s admin pages
  • compatibility with line breaks between link and image tags when placing the overlay
  • prevent adding the overlay multiple times to images that appear more than once on a page
  • fixed overlay text showing up in automatically created excerpts
  • fixed jQuery shorthand warnings in the backend
  • fixed source overlays for images with links


  • rewritten jQuery to vanilla JavaScript in the frontend code
  • only index the images of posts in the main loop to prevent getting it from filtered content


  • the full source list is now updated when a post is visited for the first time not after being saved
  • the “own image” option is now “standard source” to better represent its purpose and possibilities
  • improved settings page visually and for more clarity
  • use span instead of div container for source overlays
  • rewrite of the block options to make them more stable
  • introducing a model class
  • introduced debug option
  • introduced option to reindex image-post relations again
  • introduced isc_sources_list_override_output filter to allow overriding the output of a source list
  • introduced isc_source_list_empty_output filter to allow output when a list of sources is empty
  • fixed showing the sources list on single pages when the “list below content” was disabled while the same option for archive pages was
  • fixed indexing post content for images when the post is saved in the block editor
  • fixed infinite loops breaking autosave feature in the block editor
  • various fixes to debug tables
  • removed unneeded code to recognize the gallery shortcode in classic editor
  • removed broken PHP code causing an issue when using the isc_images_in_posts_simple filter
  • removed option to add a link to the ISC website in the frontend


  • fixed block editor files being loaded in the frontend


  • fixed JavaScript bug in block editor with WordPress 5.3


  • removed CSS class which was set automatically in the image block


  • fix for block translations


  • added image source settings to Image block


  • changed licence string to license to match en_US language base
  • extended list of copyright licenses


  • fixed issue using [isc_list] without overlays


  • removed additional output introduced in 1.9.3


  • fixed index error


  • prevent image source overlay on full image source list and below
  • optimized query of missing-sources check
  • only check for missing sources when an image was uploaded or once every 24 hours


  • prevent infinite loop for posts with automatic image source lists where images are not index yet
  • moved German translation to


  • delayed displaying source overlay by 100 ms to give images a chance to load their height
  • fixed wrong height of the overlay being used
  • fixed missing textdomain code to allow translations added through



Please reach out in case you are suddenly missing any image sources.

  • rewritten the way how images are detected in the content of the post or page
  • replaced use of image url with attachment ID where possible to lift some heavy loads
  • fix for image names including dimensions (e.g., 300×250)
  • works with version 2.4.0 of Gutenberg plugin
  • place overlay correctly even when page continues to shift after being loaded
  • load public JavaScript in footer by default
  • prevent saving ISC post meta information on non-public post types

  • fixed align value not being understood correctly

  • fixed missing index issue
  • call parent class in admin class constructor


  • cleanup
  • removed log spam introduced with 1.8.10
  • prevent SQL injection through crafted img src attributes

  • hotfix for php below 5.3


  • don’t list images attached to non-public posts in the full image list, when only visible images should be displayed, thanks to heiglandreas
  • added fallback to read images from galleries
  • added isc_get_image_by_url_query filter
  • fixed image list being empty due to autosave
  • read src from attribute according to dom documentation, thanks to heiglandreas
  • tested with WordPress 4.4 beta 4


  • rather use than error-log query


  • search for image urls regardless of their used protocol (http or https)

1.8.6 | 1.8.7

  • removed duplicate post links on full source list


  • fixed deprecated sanitize_url()


  • [feature] added option to display all images in the full list, not just those visible in posts
  • [fixed] default author text not showing up


  • [fixed] saving pre text for source overlay, thanks to maler.whick


  • [feature] show image sources for changed images
  • [feature] show image sources for images with query parameters


  • [fixed] set default value for new option to prevent error message


  • [feature] display image sources on archive pages (see settings)
  • [feature] use isc_thumbnail_source() to display thumbnail source in templates
  • [feature] added image sources for galleries and other shortcodes
  • updated German translation


  • [fixed] bug on ajax calls preventing the source fields to show up on ajax called pages in the dashboard
  • [fixed] bug on multisite update
  • [optimized] don’t hide setting boxes
  • [optimized] finished moving all publically needed function to its own class


  • [fixed] error message shown when list type settings was empty or unsaved
  • [fixed] source overlay showing if no image source was set for it
  • [optimized] trim source input


  • [fixed] source list function referring to the wrong plugin class


  • [optimized] manage different source display types on top of settings page
  • [optimized] renamed settings page to “Image Sources”
  • [removed] hiding source list elements in the frontend is no longer possible
  • [fixed] show source list not only below posts, but every other post type
  • [fixed] removed screenshots from main plugin files