First of all it is important to know that this is not possible natively, we must use Gravatar to do this.
Briefly gravatar is a platform that allows you to have custom photos on Wordpress based sites or sites that support this format of avatar or profile picture.
So let’s start
IMPORTANT
The Gravatar/Wordpress account must be created with the SAME E-Mail with which the ChatGPT account was created.
1 You must create a Gravatar account (It is the same as a wordpress account, if you already have one just log in to it) https://en.gravatar.com/
2 At the top right of your profile select “Add an image”
3 Select the image you want to upload and save changes
4 After a while you will have the picture in the ChatGPT chat (In my case I had to wait 1 hour for the changes to be applied)
Additionally, the picture you choose must be appropriate as it will be shown on ChatGPT as well as on pages or blogs where you are registered with this E-Mail.
omg I didn’t see this comment at the time and it’s been a long time, you set the same email address?, have you marked your image as appropriate for all audiences?
I’m glad it worked
Of course, this works because ChatGPT, supports this type of wordpress images, in simple words, all websites that support this type of avatar will be able to display your image.
Assuming ofc that your image is appropriate for all audiences
And I apologize for the late reply, but I haven’t checked the forum much :3
Mine got changed quickly, make sure after you change your profile pic in gravatar, wait a few minutes then log out of the chat gpt website. After a few minutes, log back in.
PS: make sue the email that you used to make a gravatar account is the same email you used with chatgpt otherwise, it won’t work.
First of all, it is entirely possible to do this “native” - as in modify the runtime CSS of ChatGPT so that your Gravatar icon is not shown.
Then further, that you can then uBlock Gravatar completely so there isn’t an identity web bug receiving your email address sent from providers without respect for your privacy, and tracking your movements on the internet.
Tampermonkey/Greasemonkey script to sanitize screenshots:
// ==UserScript==
// @name ChatGPT Replace Gravatar
// @namespace http://tampermonkey.net/
// @version 2025.05.16
// @description Use an emoji instead of downloaded web bug
// @author -J
// @match https://chatgpt.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=chatgpt.com
// @grant none
// ==/UserScript==
// ------- new user menu icon, not gravatar
(function() {
'use strict';
function newUserIcon() {
const button = document.querySelector('button[data-testid="profile-button"]');
if (!button) return;
const imageContainer = button.querySelector('div.relative.flex');
if (!imageContainer) return;
// Remove existing image if present
const existingImg = imageContainer.querySelector('img');
if (existingImg) {
imageContainer.removeChild(existingImg);
}
// Prevent multiple icons
if (!imageContainer.querySelector('span#customUserIcon')) {
const newIcon = document.createElement('span');
newIcon.id = 'customUserIcon'; // Unique identifier
newIcon.textContent = '⚙️'; // Emoji for user profile
newIcon.style = 'font-size: 20px; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;';
imageContainer.appendChild(newIcon);
}
}
// Observer to ensure the DOM is fully loaded and dynamically managed
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
if (mutation.addedNodes.length) {
newUserIcon(); // Run our function to check and modify DOM
}
});
});
// Configuration of the observer:
const config = { childList: true, subtree: true };
// Start observing the body for added elements
observer.observe(document.body, config);
// Also run immediately on load in case the content is already there
document.addEventListener('DOMContentLoaded', newUserIcon);
})();