MeDo

Generatore di componenti avatar.

Genera avatar pronti alla produzione da un solo prompt. 6 pattern open source — foto, illustrato in stile Notion, fallback a iniziali, badge di presenza, gruppo sovrapposto, uploader — tutti in Tailwind + shadcn, accessibili, personalizzabili nel tema e con licenza MIT. Copia il codice, oppure rigenerane uno qualsiasi direttamente nel tuo progetto Lovable, Bolt, v0 o Cursor.

Avatar
Avatar

6 modelli

Modelli di Avatar che puoi generare

Ogni modello è un prompt reale, non uno screenshot. Copialo in qualsiasi editor IA, oppure eseguilo in MeDo e ottieni codice React + Tailwind.

BaseImmagine + fallback

Foto con fallback a iniziali

La foto quando si carica, le iniziali quando non ci riesce. L'avatar che serve per primo a ogni app.

Crea un componente React <Avatar /> riutilizzabile con Tailwind CSS. Pattern: avatar di base con immagine e fallback a iniziali. Layout: avatar circolare che rende un <img> quando src si carica; in caso di errore o src mancante, mostra un fallback con iniziali generate e un colore di sfondo deterministico derivato dalla stringa del nome. API: prop per src, name (obbligatoria, usata per il testo alt e le iniziali), size ("xs" | "sm" | "md" | "lg" | "xl") e className passata al nodo radice. Includi: testo alt obbligatorio ricavato da name, loading="lazy", passaggio al fallback su onError tramite stato locale, anello focus-visible quando è reso dentro un link o un button, supporto per tema chiaro e scuro con le classi dark: di Tailwind. Vincoli: solo React + Tailwind, nessuna dipendenza UI o di immagini esterna, nessuno spostamento del layout durante il caricamento dell'immagine (riserva il box con width/height fissi).

Prova in MeDo
StatoBadge di presenza

Avatar con punto di presenza

Online, assente, occupato, offline: un punto di presenza ancorato al bordo dell'avatar.

Crea un componente React <AvatarWithStatus /> con Tailwind CSS. Pattern: avatar con badge di presenza. Layout: avatar circolare con un piccolo punto di stato fissato in basso a destra, separato dalla foto da un anello del colore dello sfondo così da risultare leggibile su qualsiasi superficie. API: prop per src, name, size e status ("online" | "away" | "busy" | "offline"), con il colore del punto mappato per ogni stato e il punto che scala insieme alla dimensione dell'avatar. Includi: fallback a iniziali, un'etichetta testuale nascosta visivamente che annunci lo stato agli screen reader (non affidarti al solo colore), aria-label sul contenitore, supporto per tema chiaro e scuro. Vincoli: solo React + Tailwind, nessuna dipendenza UI esterna, il punto non deve mai coprire più del 30% del bordo dell'avatar.

Prova in MeDo
GruppoPila + overflow

Gruppo di avatar con chip +N

Pila di avatar sovrapposti con chip di overflow +N. Per team, assegnatari, collaboratori.

Crea un componente React <AvatarGroup /> con Tailwind CSS. Pattern: gruppo di avatar sovrapposti con conteggio di overflow. Layout: riga orizzontale di avatar sovrapposti di circa un terzo, ciascuno con un anello del colore dello sfondo per mantenere leggibile la pila; superato il numero massimo di avatar visibili, mostra un chip contatore "+N" della stessa dimensione e forma. API: prop per users (array di { src, name }), max (default 4), size e un onAddClick opzionale che rende un'affordance tratteggiata "Invita" alla fine della riga. Comportamento: al passaggio del mouse l'avatar sotto il cursore si solleva sopra i vicini con una piccola traslazione e un cambio di z-index; la pila inverte la direzione della sovrapposizione con una prop "dir". Includi: fallback a iniziali per ogni avatar, aria-label che riassuma il numero totale di membri, elementi raggiungibili da tastiera con anelli focus-visible, supporto per tema chiaro e scuro. Vincoli: solo React + Tailwind, nessuna dipendenza UI esterna, nessuna libreria di animazione.

Prova in MeDo
Misure e formeScala + forma

Sistema di scala

Da xs a xl su un'unica scala tipografica, più le varianti circle, squircle e quadrato arrotondato.

Crea un componente React <Avatar /> personalizzabile nel tema con una scala completa di dimensioni e forme, usando Tailwind CSS. Pattern: primitiva avatar per design system. API: size ("xs" | "sm" | "md" | "lg" | "xl" | "2xl") mappata attraverso un unico oggetto di lookup che controlla insieme larghezza, altezza, corpo del testo e raggio dei bordi; shape ("circle" | "squircle" | "square"); più src, name e className. Requisito: il corpo del testo delle iniziali scala in proporzione al box dell'avatar, così xs e 2xl restano entrambi equilibrati; tutti i token vivono in un solo oggetto di configurazione all'inizio del file, così un team può ridefinire il tema in un unico punto. Includi: fallback a iniziali, testo alt ricavato da name, forwardRef verso l'elemento radice, tipi delle prop TypeScript esportati, supporto per tema chiaro e scuro. Vincoli: solo React + Tailwind, nessuna dipendenza UI esterna, nessuno stile inline a parte le dimensioni in pixel calcolate.

Prova in MeDo
UploaderModificabile

Avatar con caricamento e rimozione

Avatar con badge fotocamera, pulsante di caricamento e vincoli sui file. Per le pagine di impostazioni.

Crea un componente React <AvatarUploader /> con Tailwind CSS. Pattern: controllo modificabile della foto profilo per una pagina di impostazioni. Layout: avatar grande a sinistra con un badge fotocamera circolare fissato in basso a destra; a destra, un'etichetta "Foto profilo", una riga con i vincoli sul file ("PNG o JPG, fino a 2 MB") e un pulsante primario Carica più un pulsante testuale Rimuovi. Comportamento: <input type="file" accept="image/png,image/jpeg"> nascosto, attivato sia dal badge sia dal pulsante Carica; validazione lato client di dimensione e tipo con messaggio di errore inline; anteprima locale tramite URL.createObjectURL, revocata allo smontaggio; Rimuovi ripristina il fallback a iniziali. Includi: associazione con <label> per l'input file, regione aria-live per i messaggi di validazione, anelli focus-visible, stato disabilitato/in caricamento sul pulsante, supporto per tema chiaro e scuro. Vincoli: solo React + Tailwind, nessuna libreria di upload, nessuna dipendenza per il ritaglio: esponi una callback onChange(file) per il chiamante.

Prova in MeDo
Riga profiloAvatar + metadati

Riga avatar, nome, ruolo

Avatar, nome, segno di verifica e ruolo: la riga che riempie tabelle ed elenchi di membri.

Crea un componente React <AvatarRow /> (e un wrapper <MemberList />) con Tailwind CSS. Pattern: riga con avatar e metadati per elenchi di membri, tabelle e thread di commenti. Layout: avatar a sinistra, un blocco su due righe con il nome della persona (più un segno di verifica opzionale) e una riga secondaria attenuata ("Team · Ruolo"), e un pulsante di azione in coda a destra; il blocco centrale viene troncato con min-w-0 + truncate invece di andare a capo. API: prop per users (array di { src, name, role, team, verified }), un'etichetta per l'azione in coda e una callback onAction(user). Includi: fallback a iniziali, markup semantico <ul>/<li> nel wrapper, nome accessibile sul pulsante in coda ("Gestisci gli accessi di {name}"), evidenziazione della riga al passaggio del mouse, anelli focus-visible, supporto per tema chiaro e scuro. Vincoli: solo React + Tailwind, nessuna libreria per tabelle o elenchi, funziona a 320px di larghezza senza overflow.

Prova in MeDo

Pattern di Avatar per siti web diversi

Lo stesso componente avatar, calibrato sul tipo di sito su cui viene pubblicato.

01 / 06

Impostazioni team SaaS

Gli elenchi di membri vivono o muoiono con la riga avatar: foto, nome, ruolo, azione sugli accessi. Il fallback a iniziali mantiene ordinata la tabella quando nessuno ha ancora caricato una foto.

Stili e varianti di Avatar

Scegli la variante che si adatta al resto della pagina, poi generala.

01 / 06

Avatar di base

Immagine con fallback a iniziali e un colore di sfondo deterministico per ogni nome. La base da cui partono tutte le altre varianti.

Avatar in React, Next.js, Vue e Svelte

React, Next.js, Vue 3, SvelteKit, Astro o HTML puro: lo stesso avatar, sei modi per integrarlo.

01 / 06

Avatar React

Un singolo componente funzionale con una lookup delle dimensioni e un fallback su onError. Nessuno stato client oltre al flag di immagine non caricata, sicuro in qualsiasi punto di un albero React 18+.

src/components/Avatar.tsx

export function Avatar({ src, name, size = "md" }) {
  const [failed, setFailed] = useState(false);
  return failed || !src
    ? <span className={box[size]}>{initials(name)}</span>
    : <img src={src} alt={name} onError={() => setFailed(true)} />;
}

Chi usa il componente Avatar

Elenchi di team e membri

Pagine di impostazioni, organigrammi e tabelle dei permessi hanno bisogno tutti della stessa riga: avatar, nome, ruolo, azione. Generala una volta e riusala in ogni tabella dell'app.

Collaborazione in tempo reale

Gli avatar sovrapposti con un chip +N sono l'interfaccia di presenza più economica che esista: una sola riga dice all'utente chi altro sta modificando, senza sidebar né dashboard websocket.

Feed social e commenti

Thread di commenti, reazioni e menzioni ripetono l'avatar centinaia di volte per pagina. Un'unica primitiva con una scala di dimensioni mantiene il layout coerente e il bundle leggero.

Chat e caselle di supporto

I badge di presenza dicono all'operatore se il cliente è ancora online, e il fallback a iniziali mantiene la casella leggibile quando nessuno ha una foto profilo.

Impostazioni account e onboarding

L'avatar con caricamento gestisce la validazione di tipo e dimensione del file, l'anteprima locale e la rimozione: tutto il flusso della foto profilo senza una libreria di upload.

Marketplace e recensioni

Gli avatar dei recensori con un segno di verifica fanno più per la fiducia percepita di una stella in più. Inserisci la riga profilo direttamente nelle pagine prodotto.

Come aggiungere il tuo Avatar a un progetto

Quattro passaggi, dalla scelta di un modello di avatar alla messa in produzione.

01~30s

Scegli un pattern di avatar

Scorri i 6 template qui sopra e scegli quello più vicino alla tua interfaccia: foto, illustrato, riga di tabella, pila di presenza o controllo di caricamento.

02~2s

Provalo dal vivo

Ogni card mostra un'anteprima reale in React + Tailwind, così vedi spaziature e dimensioni prima di copiare qualsiasi cosa.

03~10s

Copia il prompt o il codice

Copia il prompt in MeDo, Lovable, Bolt, v0 o Cursor, oppure prendi il codice del componente direttamente dalla card.

04~1min

Inseriscilo nella tua app

Importa <Avatar /> una volta, poi riusalo in tabelle, intestazioni e thread di commenti con le prop di dimensione e forma.

Domande comuni su Avatar

Che cos'è un componente avatar?

Un componente avatar mostra una piccola immagine che rappresenta un utente, un team o un'organizzazione, in genere una foto profilo circolare. Un avatar pronto alla produzione gestisce anche i casi in cui la foto manca o non si carica, di norma mostrando le iniziali della persona su un colore di sfondo generato.

Come funziona il fallback a iniziali?

Il componente prende il nome dell'utente, lo divide sugli spazi e mostra in maiuscolo il primo carattere della prima e dell'ultima parte. Il colore di sfondo è derivato in modo deterministico dalla stringa del nome, così la stessa persona ottiene sempre lo stesso colore tra sessioni e dispositivi.

Che cos'è un gruppo di avatar o un avatar sovrapposto?

Un gruppo di avatar è una riga orizzontale di avatar sovrapposti, ciascuno con un anello del colore dello sfondo per mantenere leggibile la pila. Superato un numero massimo di elementi visibili, mostra un chip "+N". È il pattern standard per i membri di un team, gli assegnatari di un task e i collaboratori in tempo reale.

Questi componenti avatar sono accessibili?

Sì. Ogni avatar porta un testo alt derivato dal nome dell'utente, lo stato di presenza viene annunciato con un'etichetta nascosta visivamente e non solo tramite il colore, i tooltip sono collegati con aria-describedby e gli avatar interattivi mantengono anelli focus-visible ben visibili.

Questi componenti avatar sono gratuiti per uso commerciale?

Sì. Ogni template della galleria ha licenza MIT: puoi usarlo in progetti personali, lavori per clienti e prodotti commerciali senza attribuzione e senza costi di licenza.

Funzionano con React, Vue e Svelte?

I componenti sono scritti in React + Tailwind, ma il markup è indipendente dal framework. La sezione Framework qui sopra mostra lo stesso avatar in Next.js, Vue 3, SvelteKit, Astro e HTML puro.

Come dimensionare e ottimizzare le immagini degli avatar?

Servi ritagli quadrati a circa il doppio del box renderizzato (80px per un avatar da 40px) per restare nitidi sugli schermi retina, imposta width e height espliciti per evitare lo spostamento del layout, usa object-cover e aggiungi loading="lazy" per gli avatar sotto la piega.

Meglio avatar fotografici o illustrati?

Usa vere foto quando conta l'identità — directory del team, caselle di supporto, recensioni su marketplace — perché un volto è il modo più rapido per riconoscere una persona. Usa avatar illustrati in stile Notion quando la maggior parte degli utenti non carica mai una foto, quando vuoi un aspetto coerente con il brand o quando mostrare volti reali solleva questioni di privacy. Un buon sistema supporta entrambi: la foto quando c'è, un'illustrazione deterministica o le iniziali quando manca.

Genera il tuo componente avatar in 30 secondi.

Rigenera uno qualsiasi dei 6 template di avatar da un prompt, o descrivi il tuo: foto, illustrato, badge di presenza, gruppi sovrapposti, uploader. Gratis, licenza MIT, senza registrazione.