BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Picturefill.WP icon
Possibly abandoned Tested up to 3.9.40

Picturefill.WP

A Wordpress plugin to use picturefill.js to load responsive/retina images, mimicking the proposed HTML5 picture spec.

Active installs40+10+ tier
Downloads · 30d67▲ +45.7% vs prev. 30d
Rating5/57 reviews
Health score36/100At risk
All-time downloads9.9KSince Apr 2013
Support resolved—No recent threads
RequiresWP 3.2PHP any
Downloads · 7d17• 0% week over week
Our verdict

Consider an alternative

Picturefill.WP shows warning signs in 2026 — compare the alternatives below before installing. It runs on 40+ sites, is rated 5/5 and was last updated 12 years ago, and scores 36/100 on our health check.

  • Small user base (40+ active installs)
  • No update in 12 years
  • Only tested up to WordPress 3.9 (latest is 7.1)

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

246Jul 12Aug 25Oct 9
Yesterday5
Daily average (1y)2
Peak day15May 3, 2026
Last 12 months554

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Picturefill.WP stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
images >100 10,000 Best images plugins →
picturefill #6 9 Best picturefill plugins →
responsive images >100 5,333 Best responsive images plugins →
retina >100 293 Best retina plugins →
retina images >100 227 Best retina images plugins →

Version adoption

Share of active sites per release.

  • 1.3100.0%

Rating breakdown

★★★★★★★★★★ 5 from 7 reviews

  • 5★100.0%
  • 4★0.00%
  • 3★0.00%
  • 2★0.00%
  • 1★0.00%

About Picturefill.WP

From the official readme · v1.3.5

Description

Note: This is an implementation of Picturefill.js version 1.2.x. For an implementation of Picturefill.js 2.x, see the master branch of the GitHub repository.

Picturefill.WP is a simple and option-less plugin to serve HDPI and responsive images on a WordPress website.

This plugin parses post and page content replacing images with a special syntax similar to the proposed syntax for the HTML5 picture element, then uses an adapted version of picturefill.js to load the appropriate image to the browser.

Considerations before installing

Slow Loading on Activation

The first time a page or post is loaded after activating Picturefill.WP, new @2x size images will need to be created for the images in the post or page content. This can take several seconds and will take longer on image heavy posts. Once these images are created, posts should load at least as fast or faster than they do without the plugin.

If you are installing Picturefill.WP on a large and image heavy site, you may want to consider using another plugin like Regenerate Thumbnails to create the new image sizes for existing posts and pages.

500 or 504 server errors

These errors are related to the slow loading listed above. If the server reaches its timeout limit before it is finished processing new images, it will return a 500 or 504 error. Refreshing the page usually gives the server the time it needs to finish processing the images. On some image-heavy posts, it may take more than one refresh.

Image Sizes

By default, WordPress creates as many as 3 images of different sizes for each uploaded image (“large”, “medium”, and “thumbnail”), in addition to the “full” image size.

This plugin adds responsive breakpoints based on the width of the image. The largest available image will display unless the browser width is less than the image width + 20px, in which case the next size down is displayed.

To use this plugin most effectively, set the default image sizes (“large”, “medium”, and “thumbnail”) to reflect useful breakpoints in your theme design.

Errors and Warnings

As of version 1.3.3 Picturefill.WP suppresses errors and warnings in parsing the DOM. Errors and warnings can now be collected via the picturefill_wp_syntax_present_libxml_errors and picturefill_wp_get_images_libxml_errors filters.

add_filter('picturefill_wp_get_images_libxml_errors', 'handle_errors');

function handle_errors($errors){
  foreach($errors as $error){
    // Handle errors here.
  }
}

Theme CSS

As described in the Details section, the picturefill.js syntax uses nested span elements. If a theme’s CSS applies styles to un-classed span elements, you may notice some of these spans showing up unexpectedly on the page after activating Picturefill.WP. If possible, it is best to remove the offending code from your theme files, but adding the flowing to the bottom of your theme’s CSS file should also work to reset these styles.

span[data-picture]{display:inline;margin:0;padding:0;border:0;}
span[data-picture] span{display:inline;margin:0;padding:0;border:0;}

Caching

To improve performance, especially in image heavy posts, Picturefill.WP uses transient caching. The cache will be refreshed automatically every time a post is updated or Picturefill.WP is updated. The cache can be manually refreshed by deactivating and reactivating Picturefill.WP from the plugins menu.

If you suspect that Picturefill.WP’s caching is causing trouble with another plugin or theme feature, first try deactivating and reactivating Picturefill.WP. If problems persist, try lowering the priority for Picturefill.WP to be executed by adding the following to your functions.php file:

remove_filter('the_content', array(Picturefill_WP::get_instance(), 'apply_picturefill_wp_to_the_content'), 11);
add_filter('the_content', array(Picturefill_WP::get_instance(), 'cache_picturefill_output'), 9999);

If you still encounter problems with other plugins or theme features, you may want to disable caching all together. See the subsection on how to disable caching under the “Extending Picturefill.WP” section of the GitHub repository.

Details

Picturefill.WP looks through the_content to find <img> elements like this:

<img class="alignnone size-large wp-image-123" alt="Accessible alternate text for the image" title="A title that displays on hover" src="http://sitename.com/wp-content/uploads/2013/4/image-770x577.jpg" width="770" height="577" />

then replaces them with something like this (visit the GitHub repository for a breakdown of the syntax):

<span data-picture data-class="alignnone size-large wp-image-123" dat-alt="Accessible alternate text for the image" data-title="A title that displays on hover" data-width="770" data-height="577">
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-770x577.jpg"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-150x150.jpg" data-width="150" data-height="150" data-media="(min-width: 1px)" class="picturefill-wp-source thumbnail"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-300x300.jpg" data-width="150" data-height="150" data-media="(min-width: 1px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)" class="picturefill-wp-source retina thumbnail"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-400x300.jpg" data-width="400" data-height="300" data-media="(min-width: 420px)" class="picturefill-wp-source medium"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-800x600.jpg" data-width="400" data-height="300" data-media="(min-width: 420px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)" class="picturefill-wp-source retina medium"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-770x577.jpg" data-width="770" data-height="577" data-media="(min-width: 790px)" class="picturefill-wp-source large"></span>
  <span data-src="http://sitename.com/wp-content/uploads/2013/4/image-1540x1155.jpg" data-width="770" data-height="577" data-media="(min-width: 790px) and (-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi),(min-resolution: 1.5dppx)" class="picturefill-wp-source retina large"></span>
  <noscript>
    <img class="alignnone size-large wp-image-123" alt="Accessible alternate text for the image" title="A title that displays on hover" src="http://sitename.com/wp-content/uploads/2013/4/image-770x577.jpg" width="770" height="577" />
  </noscript>
</span>

The adapted version of picturefill.js then looks for the last data-src listed where the associated data-media matches the device and browser, and loads the appropriate image inside the matched <span> element.

Extending Picturefill.WP

See the Extending Picturefill.WP subsection of the GitHub repository for a list of plugin hooks and examples.

Advanced Use

Markup Tricks

Limit Responsiveness

The responsiveness of an image can be limited by adding the class min-size-{image size}. For example, an image with the class min-size-medium will not load an image smaller than size medium.

Skip Images

To skip images and load them normally add the attribute data-picturefill-wp-ignore to the <img> tag.

Helper Functions

See the helper functions section of the documentation on GitHub.

Installation

  1. First, make sure that the image sizes set in your media settings reflect useful breakpoints in your design.
  2. Upload the plugin folder to the /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress

Changelog

Bug fixes. Typos in variable names.

1.3.5

  • Bug fixes. Typos in variable names.

1.3.4

  • Bug fixes in helper functions GitHub issues #32 and #33.

1.3.3

1.3.1

  • Correct an IE7 JavaScript issue.
  • Check the filtered content for the picturefill syntax instead of images only.

1.3.1

  • Hotfix to correct an error in the picturefill_wp_set_responsive_image_sizes helper function.

1.3.0

  • Add a number of helper functions to simplify common customizations
  • Run picturefill.js even when deferred until after the page is loaded

Full changelog on WordPress.org →

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Picturefill.WP alternatives

All images plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 Autoptimize Autoptimize Autoptimize speeds up your website by optimizing JS, CSS, images (incl. lazy-load), HTML… by Optimizing Matters 800K+ ★★★★★★★★★★ 4.7 (1.4K) 2 weeks ago 97
2 WebP Express WebP Express Serve autogenerated WebP images instead of jpeg/png to browsers that supports WebP. by rosell.dk 300K+ ★★★★★★★★★★ 4.4 (162) 4 months ago 57
3 Responsive Lightbox & Gallery Responsive Lightbox & Gallery The most popular lightbox plugin and responsive gallery builder for WordPress. by dFactory 100K+ ★★★★★★★★★★ 4.9 (2K) 4 days ago 84
4 Modern Image Formats Modern Image Formats Converts images to more modern formats such as WebP or AVIF during upload. by WordPress Performance Team 100K+ ★★★★★★★★★★ 3.5 (25) 1 month ago 85
5 Lightbox & Modal Popup WordPress Plugin – FooBox Lightbox & Modal Popup WordPress Plugin – FooBox A responsive image lightbox for WordPress galleries, WordPress attachments & FooGallery by FooPlugins 100K+ ★★★★★★★★★★ 3.9 (95) 1 month ago 87
6 Media Cleaner: Delete Unused Images & Clean Your Media Library Media Cleaner: Delete Unused Images & Clean Your Media Libr… Find and delete unused images and media files, fix broken entries, with a trash to undo… by Jordy Meow 90K+ ★★★★★★★★★★ 4.6 (775) 53 minutes ago 94
7 Media Library Assistant Media Library Assistant Enhances the Media Library; powerful gallery and list shortcodes, full taxonomy support… by David Lingren 70K+ ★★★★★★★★★★ 4.8 (202) 2 weeks ago 94
8 Simple Image Sizes Simple Image Sizes This plugin lets you create custom image sizes for your site. Override your theme sizes… by Nicolas Juen 60K+ ★★★★★★★★★★ 4.6 (91) 2 months ago 74
9 Image Placeholders Image Placeholders Displays placeholders based on an image's dominant color while the image is loading. by WordPress Performance Team 60K+ ★★★★★★★★★★ 3.5 (2) 1 month ago 73
10 Enhanced Responsive Images Enhanced Responsive Images Improvements for responsive images in WordPress. by WordPress Performance Team 50K+ ★★★★★★★★★★ No reviews 1 month ago 70

FAQ

Picturefill.WP: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Oct 10, 2026

Is Picturefill.WP free?

Yes. Picturefill.WP is free to download and use from the official WordPress.org plugin directory.

Is Picturefill.WP safe to use in 2026?

Picturefill.WP shows warning signs in 2026 — compare the alternatives below before installing. It runs on 40+ sites, is rated 5/5 and was last updated 12 years ago, and scores 36/100 on our health check.

How many websites use Picturefill.WP?

Picturefill.WP is active on 40+ WordPress websites and has been downloaded 9,932 times since it launched in April 2013. It was downloaded 67 times in the last 30 days.

Does Picturefill.WP work with WordPress 7.1?

Picturefill.WP is officially tested up to WordPress 3.9.40, while the latest release is 7.1.3. It may still work, but try it on a staging site first.

When was Picturefill.WP last updated?

The latest version, 1.3.5, was released on August 3, 2014 (12 years ago).

Who makes Picturefill.WP?

Picturefill.WP is developed and maintained by kylereicks.

What are the best alternatives to Picturefill.WP?

The most popular alternatives to Picturefill.WP are Autoptimize (800K+ installs), WebP Express (300K+ installs) and Responsive Lightbox & Galle… (100K+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.