Bulk Image Resize, Watermark and Upload for WordPress

BIRU-WP lets you easily resize, watermark and upload a batch of images from your iPhone or iPad to your WordPress blogs with as few clicks/taps as possible. After you have entered your WordPress blogs‘ url, username and password once, you just have to select the images from you deviceand push the upload button. BIRU-WP does the rest.

 The idea behind the app

This app was born out of some practical issues we had with our travel blog. My wife likes to take lots of pictures and then wants to put them into a gallery on the blog. To save bandwidth when traveling and thus mobile phone charges, the 8 megapixel pictures from her iPhone 4s had to be resized first to a size that is suitable for the blog (we use 1280 * 960 pixels as max. size). It is generally a good practice to upload images to a blog in the smallest size possible (that still looks good) and not have the blog resize images. Because if you upload the full 8 or more megapixels per image to your blog, the blog will store the original as well as all downsampled copies and quickly use up a lot of unnecessary space on the webserver.

So the workflow before the app was:

  • Load each single image from the iPhone camera roll into a photo app
  • Resize each single image in the photo app and save it back to the camera roll on the iPhone
  • Upload every resized image to WordPress (which alone takes a lot of clicks/taps)
  • Delete each resized image from the iPhone

For an average of 10 images a day this took up an aweful lot of time. So the idea for the app was born.

With BIRU-WP the workflow is now:

  • Open the BIRU-WP on the iPhone and select all images that need to be uploaded to the blog
  • Click upload, have a cup of tea (or a glass of beer) and wait for the app to be done.

System requirements

  • Version 1.x runs on iPhones or iPads with iOS 6.1 or greater
  • Version 2.x requires at least iOS 8.1 which runs on iPhones 4s+ and iPads 2+
  • Any old WordPress blog version 3.5 or greater

Where to buy

The app is available in the iTunes App Store for 1,99 € or a similar price in different currencies.

Release History

Version 2.2.0 – 2016-03-08

With this release BIRU-WP now supports all synched albums and smart albums of iOS 9.

Version 2.1.3 – 2016-01-10

Today we send an update of BIRU-WP to Apple that fixes a bug that came to the surface with the release of WordPress 4.4.1 on January 6.

Version 2.0.0 – 2015-01-27

For this release the app has been completely rewritten using the latest technologies from Apple that were introduced with iOS 8.

New Features:

  • Support for multiple blogs and multiple settings for one blog
  • Option to copy image metadata (EXIF data like the GPS position where the image was taken) from the original image to the resized image
  • Option to set the image title in WordPress to the location of the photo and/or the date the photo was taken
  • Option to set the image date in WordPress to the date the photo was taken (instead of the date the image was uploaded, which is the WordPress default)
  • Option to choose a font for watermarks
  • Option to set the transparency level of watermarks
  • Option to set the blog’s language. This currently influences only the way dates are formated.
  • Advanced option to clean up invalid XML from blogs with a faulty theme or plugin that add one or more blank lines at the top of every page. Use at your own risk.
  • Advanced option to support blogs with self signed (and thus invalid) SSL certificates. Use at your own risk.
  • Image filename now contains the date and time the image was taken (if available)


  • BIRU-WP now requires at least iOS 8.1. If you are still using iOS 8.0.x, you should update your version of iOS now. If you are using a version of iOS before 8.0, you can still use the previous version of BIRU-WP.

Known Issues:

  • Changing a blog’s language does currently not change the language of the location of a photo (like setting the country name to „Germany“, „Allemagne“ or „Deutschland“). The data about a photo’s location will always be in the current language of the iPhone/iPad as Apple does not yet allow to set the language for reverse geocoding. There is a feature request pending with Apple to support setting the language for reverse geocoding in a future release of iOS.
  • On iPads the left margin of some labels on the blog profile settings page is a few pixels off. This is an issue with autolayout in iOS 8 and has been reported as a bug to Apple.
  • Allowing access to a blog with an invalid SSL certificate and then disallowing this access within the same app session will not revoke the access rights. This has been reported to Apple and is currently under investigation with the Apple security team.

1.0.2 – 2014-02-20

Fixed: Cancelling uploads now also cancels an active upload

1.0.0 – 2014-02-08

This is the initial release and was submitted to the app store on February 8, 2014.

Known issues

XML RPC Error #1

On a WordPress 3.8.1 installation hosted at Dreamhost, a user had problems connecting to his WordPress blog. The message he received was „XMLRPC Error: Invalid XML: XML-RPC server accepts POST requests only.“ We could solve the problem by entering the complete URL into the URL field. With most blogs you can actually omit the „www.“ part, so „“ works the same as „“. At Dreamhost it does make a difference, so be sure to enter the complete URL of your blog if you experience this problem.

XML RPC Error #2

Another user was getting getting the error message „XMLRPC Error: Invalid XML: <?xml version=“1.0″ …“. Here the WordPress blog was returning valid data, but the app was not able to parse it. After we looked closer at the blog response we found out that this particular WordPress installation added an empty line before the actual XML, thus invalidating the response.

These empty lines sometimes happen in WordPress and are usually caused by some plugins or themes that accidentally send an empty line to the output, that is then sent on to the client. In this case the LF was also sent when requesting the home page so was is most likely a faulty theme or plugin.

In this case you can try to deactivate all plugins and see if you now can connect. If it works then activate your plugins one by one and see which one causes the problem. You can also briefly switch to the current WordPress standard theme and try to connect. If this works then this is a problem with your theme.

In version 2.0 of BIRU-WP we have added an option to clean up some invalid XML that is served by your blog. Turning on this option will most likely solve this problem. But you should use this only if the other steps fail.


We have been using the app for quite a while now and are pretty happy with it (big surprise here 😉 . But we love to hear from you. So please send your questions and suggestions using the information on our contact page. Since I am currently travelling in different timezones and with limited internet access, please allow a few days for a reply. Thanks!