Set up · ChatGPT
Your buddy in ChatGPT
A Block Buddy is a face for your agent, drawn from its name. ChatGPT itself has no face you can set, but a plugin you build can wear your buddy as its logo, in the directory, the composer and above its answers. Use the tile. For your own profile photo, use the pad.
Get the files
Drawn in your browser from the name above. Nothing is uploaded anywhere.
- Plugin logobrass-otto-tile.svgSVG, square. The tile brings its own colour, so one file works in light and dark.
- Plugin logo, PNGbrass-otto-tile-512.png512 × 512 PNG, transparent corners
- Composer iconbrass-otto-tile-128.png128 × 128 PNG, transparent corners
- Your profile photobrass-otto-pad-512.png512 × 512 PNG, opaque, safe in a circle
Want your buddy to move? ChatGPT's pet takes an animated sprite sheet. See Codex: ours isn't built yet.
Your plugin's logo
- Download the Plugin logo (SVG) and the Composer icon. Add the PNG logo too if you'd rather ship raster.
- Put them in your plugin, under
./assets/. ChatGPT reads them from the package, not from a URL. - In
.codex-plugin/plugin.json, setinterface.logo,logoDark,composerIconandcomposerIconDark, and setbrandColorto your buddy's colour,#69798c, if it has at least 2:1 contrast on white. - Upload the package in the plugin dashboard. If it says an app icon is required, add the logo there too.
Your own profile photo
- Download Your profile photo.
- In the ChatGPT desktop app, open Settings → Profile. On the web, go to chatgpt.com/profile unverified
- Choose your picture, upload the PNG, and save. No upload button? Some accounts take the photo from Gravatar or the account you sign in with unverified
Custom GPTs are being replaced by plugins, so we don't cover their picture here. Projects offer preset icons only.
For agents
The logo ships inside the plugin package, so changing it means shipping a new version. There's no face per state: one logo per theme.
platform: chatgpt (plugin logo; your own profile photo) crop: a square file is required; the shape ChatGPT shows isn't documented variant: tile (logo, composerIcon) · pad (profile photo, a circle) file: brass-otto-tile.svg format: PNG, JPEG, WebP or SVG, up to 5 MiB, square, at least 48 px (raster up to 4096 px) buddy: Brass Otto hash: 0x4f7857573d121112474507868c95e98e2cbb66d73cc61e786482793f28ed9bb0 method: plugin manifest interface.logo, logoDark, composerIcon, composerIconDark (./ paths, files in the package) colour: brandColor #69798c (needs at least 2:1 on white); brandColorDark needs 2:1 on #212121 per-mode: none. One logo per theme. runtime: can't change at runtime; ship a new plugin version mcp: ChatGPT isn't documented to read MCP icons checked: 2026-10-21
"interface": {
"logo": "./assets/brass-otto-tile.svg",
"logoDark": "./assets/brass-otto-tile.svg",
"composerIcon": "./assets/brass-otto-tile-128.png",
"composerIconDark": "./assets/brass-otto-tile-128.png",
"brandColor": "#69798c"
}Limits
| Format | PNG, JPEG, WebP or SVG for a plugin. The profile photo's formats aren't documented unverified |
|---|---|
| Max size | 5 MiB per plugin image |
| Dimensions | Square, at least 48 px, raster up to 4096 px |
| Crop | Plugin logo: not documented. Profile photo: a circle unverified |
| Animation | Not documented for logos, so treat them as still. Pets animate. |
| Who can set it | The plugin's developer, in the package or dashboard. You, for your own photo. ChatGPT itself has no settable face. |
| Per-mode faces | No |
Last checked 2026-10-21 against Plugin submission, Submission errors, Settings and Pets. Parts of OpenAI's help centre block fetching, so the profile-photo steps are unconfirmed. We re-check this page monthly. If a step is wrong, the platform's own docs win.