Simple Local Avatars


Adds an avatar upload field to user profiles if the current user has media permissions. Generates requested sizes on demand just like Gravatar! Simple and lightweight.

Just edit a user profile, and scroll down to the new “Avatar” field. The plug-in will take care of cropping and sizing!

  1. Stores avatars in the “uploads” folder where all of your other media is kept.
  2. Has a simple, native interface.
  3. Fully supports Gravatar and default avatars if no local avatar is set for the user – but also allows you turn off Gravatar.
  4. Generates the requested avatar size on demand (and stores the new size for efficiency), so it looks great, just like Gravatar!
  5. Lets you decide whether lower privilege users (subscribers, contributors) can upload their own avatar.
  6. Enables rating of local avatars, just like Gravatar.

[2.7.5] – 2023-05-12

2.7.4 – 2023-02-23

2.7.3 – 2023-01-16

2.7.2 – 2023-01-13

2.7.1 – 2022-12-08

  • Added: Added missing files from the last release and changed the readme file to fix the bullet points and added fullstops.

2.7.0 – 2022-12-08

2.6.0 – 2022-09-13

Note that this release bumps the minimum required version of WordPress from 4.6 to 5.7 and PHP from 5.6 to 7.4.

2.5.0 – 2022-06-24

2.4.0 – 2022-05-10

2.3.0 – 2022-04-25

2.2.0 – 2020-10-27

2.1.1 – 2019-05-07

  • Fixed: Do not delete avatars just because they don’t exist on the local filesystem. This was occasionally dumping avatars when WordPress uploads were stored elsewhere, e.g. a cloud service.

2.1 – 2018-10-24

  • New: All avatar uploads now go into the media library. Don’t worry – users without the ability to upload files cannot otherwise see the contents of your media library. This allows local avatars to respect other functionality your site may have around uploaded images, such as external hosting.
  • New: REST API support for getting and updating.
  • New: Use .org language packs rather than bundling translations.
  • Fixed: Avoid an ArgumentCountError.
  • Fixed: A couple of internationalization issues.

2.0 – 2013-06-02

  • Choose or upload an avatar from the media library (for users with appropriate capabilities)!
  • Local avatars are rated for appropriateness, just like Gravatar
  • A new setting under Discussion enables administrators to turn off Gravatar (only use local avatars)
  • Delete the local avatar with a single button click (like everywhere else in WordPress)
  • Uploaded avatar file names are appended with the timestamp, addressing browser image caching issues
  • New developer filter for preventing automatic rescaling: simple_local_avatars_dynamic_resize
  • New developer filter for limiting upload size: simple_local_avatars_upload_limit
  • Upgraded functions deprecated since WordPress 3.5
  • Fixed translations not working on front end (although translations are now a bit out of date…)
  • Hungarian translation added (needs further updating again with new version)
  • Assorted refactoring / improvements under the hood

1.3.1 – 2011-12-29

  • Brazilian Portuguese and Belarusian translations
  • Bug fixes (most notably correct naming of image files based on user display name)
  • Optimization for WordPress 3.2 / 3.3 (substitutes deprecated function)

1.3 – 2011-09-22

  • Avatar file name saved as “user-display-name_avatar” (or other image extension)
  • Russian localization added
  • Assorted minor code optimizations

1.2.4 – 2011-07-02

  • Support for front end avatar uploads (e.g. Theme My Profile)

1.2.3 – 2011-04-04

  • Russian localization

1.2.2 – 2011-03-25

  • Fix for avatars uploaded pre-1.2.1 having a broken path after upgrade

1.2.1 – 2011-01-26

  • French localization
  • Simplify uninstall code

1.2 – 2011-01-26

  • Fix path issues on some IIS servers (resulting in missing avatar images)
  • Fix rare uninstall issues related to deleted avatars
  • Spanish localization
  • Other minor under the hood optimizations

1.1.3 – 2011-01-20

  • Properly deletes old avatars upon changing avatar
  • Fixes “foreach” warning in debug mode when updating avatar image

1.1.2 – 2011-01-18

  • Norwegian localization

1.1.1 – 2011-01-18

  • Italian localization

1.1 – 2011-01-18

  • All users (regardless of capabilities) can upload avatars by default. To limit avatar uploading to users with upload files capabilities (Authors and above), check the applicable option under Settings > Discussion. This was the default behavior in 1.0.
  • Localization support; German included

1.0 – 2011-01-18

  • Initial release.


  • Avatar upload field on a user profile page


  1. Install easily with the WordPress plugin control panel or manually download the plugin and upload the extracted folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. If you only want users with file upload capabilities to upload avatars, check the applicable option under Settings > Discussion
  4. Start uploading avatars by editing user profiles!

Use avatars in your theme using WordPress’ built in get_avatar() function:

You can also use get_simple_local_avatar() (with the same arguments) to retreive local avatars a bit faster, but this will make your theme dependent on this plug-in.


August 29, 2023 1 reply
When I activate this plugin, I can't add an image anymore in Elementor Pro which is a big problem. I get some errors on the console log related to the "media-audiovideo.min.js". The errors seem to indicate that there's an issue with trying to access the 'id' property of an object that is undefined. It usually happens when there are conflicts with other JavaScript codes.
August 20, 2023 1 reply
This should be in core! Such a simple action that this plugin does superbly!
June 17, 2023 1 reply
Ever try explaining Gravatars to a non-technical client? Good luck with that. This plugin gives us an easy way to add user profile avatars for our clients without them ever having to know a gravatar from a platypus.
March 3, 2023 1 reply
The support of the WordPress REST API is a lifesaver for me. Simple Local Avatars is the only avatar plugin I know of that supports the REST API.I used it in my React with WordPress Tutorial. Without it, the whole Tutorial wouldn't have worked.
July 2, 2022 1 reply
While I support the principles behind Gravatars, my real-world experience is this: (1) I need different avatars of myself on different sites where I have professional or personal roles; (2) therefore a single universal Gravatar does not work for me, and I'm not going to set up different Gravatar accounts for different sites because, hey, c'mon; (3) for a low volume site with a number of known contributors, Gravatars add an extra layer of external complexity. The "Simple Local Avatar" plug-in works for me, and addresses my pain points in a helpful way that is consistent with the way Gravatars work. The developer is going out of his way to make sure that a site with this plug-in will still accept and use Gravatars, but adds the common-sense capability for a user to upload their own Avatar photo. Dirt-simple and easy to use. It did not introduce any incompatibilities for me, and I appreciate that it just works.
Read all 73 reviews

Contributors & Developers

“Simple Local Avatars” is open source software. The following people have contributed to this plugin.


“Simple Local Avatars” has been translated into 20 locales. Thank you to the translators for their contributions.

Translate “Simple Local Avatars” into your language.

Interested in development?

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