oneavatar.
✳Say goodbye to missing profile pictures↗

Every profile. One URL.

One reliable image URL for GitHub, Gravatar, Google, X, WhatsApp, Spotify, and 72+ other providers, plus email addresses and domains.

https://oneavatar.dev/github/octocat
No SDK. No dependencies. Just one API.
Loading avatar…
72+ providers, one simple URL
THE PROFILES YOUR USERS ALREADY HAVE
GitHubGoogleStripenpmDiscordSpotifyGravatarWhatsApp
and 65 more providers →
How it works

One URL.
The right avatar.

Give OneAvatar a username, email, or domain. We figure out where the profile image lives and return it through a single, predictable endpoint.

01

Build the URL

Choose a provider and append the profile identifier.

/github/octocat
02

We resolve the profile

OneAvatar looks up the profile and finds the corresponding image.

03

Use the image anywhere

Drop the URL directly into an image, avatar, profile, or UI component.

GEToneavatar.dev/github/octocat
Resolved avatar

Avatar resolved

GitHub · octocat

200 OK
image/png · cache-control: max-age=86400
One endpoint, more possibilities

Everything you need for
profile images.

Keep the messy provider-specific logic out of your application. OneAvatar handles the lookup and gives you a consistent interface.

01

72+ providers

GitHub, Google, Discord, Spotify, YouTube, domains, email and many more.

02

One URL pattern

Stop maintaining separate integrations and image lookup logic for every provider.

03

Smart caching

Frequently requested avatars are served from cache instead of repeatedly hitting providers.

04

JSON when needed

Append .json when you need provider, username and image metadata instead of the image itself.

05

Automatic fallbacks

When no profile image exists, generate a clean lettermark instead of leaving an empty avatar.

06

Simple integration

Use it anywhere an image URL works. No SDK, client library or complicated setup required.

Fallbacks

No image?
No broken UI.

When a provider doesn't return an image, OneAvatar will return your fallback URL or generate a simple lettermark instead.

Customize it directly through query parameters.

Powered by UI-Avatars ↗

Fallback parameters

Configure the fallback lettermark avatar.

fallbackstring

(Optional) Fallback avatar URL. If not provided, a lettermark will be shown.

sizeinteger

Avatar image dimension in pixels, ranging from 16 to 512 (default: 64).

backgroundhex

Background color code without the '#' symbol (e.g., 0D8ABC).

colorhex

Text font color code without the '#' symbol (e.g., fff).

lengthinteger

Maximum number of initial characters to display (default: 2).

font-sizefloat

Proportion of font size relative to total size, between 0.1 and 1.0.

roundedboolean

Toggle circular border shape ('true' or 'false').

boldboolean

Toggle bold font weight ('true' or 'false').

uppercaseboolean

Automatically uppercase letter initials ('true' or 'false').

formatstring

Output file format, specify either 'svg' or 'png'.

FAQ

Questions, answered.

What is OneAvatar?

OneAvatar provides a single image URL for profile pictures across dozens of platforms. Give it a provider and identifier, and it resolves the corresponding avatar for you.

Do I need an API key?

You can use the free tier without an API key. Paid usage and higher limits may require an API key depending on your plan.

What happens when a profile has no avatar?

OneAvatar will use your fallback avatar URL if provided. Otherwise, it will generate a simple lettermark using the id or handle you provide.

Can I use the URL directly in an img tag?

Yes, but it is not recommended. While you can append your token to an image tag query string, it exposes your API key in public frontend source code. For better security, we recommend fetching avatar URLs server-side using your API key and passing only the public URL to your frontend.

Can I get profile information instead of the image?

Yes. Append .json to a lookup URL to request profile metadata such as the provider, username and resolved image URL.

Are avatars cached?

Yes. Responses can be cached for 24 hours so repeated requests don't require a fresh lookup every time. This helps reduce latency and unnecessary upstream requests.

Simple avatars. One URL.

Start using OneAvatar in your app today.

Get started→