{#if currentUserIdentity.id === -2} Please log in to view this page. {:else if currentUserIdentity.id !== -1} {#await wrapped(user, currentUserIdentity)} Loading ... {:then wrapped}
User Avatar
{currentUserIdentity.name}
Status Posts: {wrapped.activities.statusCount}
Messages: {wrapped.activities.messageCount}
Days Active: {#await activityHistory(currentUserIdentity)} Loading ... {:then activities} {#if activities === undefined} Loading ... {:else} {fillMissingDays(activities, true).filter((a) => a.amount !== 0).length}/365 {/if} {/await}
Anime
Time Watched: {((minutesWatched || 0) / 60 / 24).toFixed(2)} days
Completed: {animeList?.length}
Episodes: {episodes}
Manga
Time Read: {((chapters * 8.58) / 60 / 24).toFixed(2)} days
Completed: {mangaList?.length}
Chapters: {chapters}
{#if animeList !== undefined} Highest Rated Anime Cover
Highest Rated Anime
    {#each animeList?.slice(0, 5) as anime}
  1. {abbreviate( anime.title.english || anime.title.romaji || anime.title.native, maxAbbreviateLength, abbreviateTitles )}
  2. {/each}
{:else} Loading ... {/if}
{#if mangaList !== undefined} Highest Rated Manga Cover
Highest Rated Manga
    {#each mangaList?.slice(0, 5) as manga}
  1. {abbreviate( manga.title.english || manga.title.romaji || manga.title.native, maxAbbreviateLength, abbreviateTitles )}
  2. {/each}
{:else} Loading ... {/if}
{#if watermark}
due.moe/wrapped
{/if}

Don't be alarmed! The background will appear as its inverse in the preview, but will be corrected in the final image. {#if /Mac|iPod|iPhone|iPad/.test(navigator.userAgent)} Media covers may not appear on mobile Apple devices. {/if}
Options
Enable watermark
Enable background transparency
Enable light mode (dark by default)
Include music
Include rewatches & rereads
Include specials and OVAs

Manual width override Reset

Fit long titles
{#if abbreviateTitles} Maximum title length
{/if}

screenshot(!forceDark)}>Generate image

{:catch} {/await} {:else} Loading ... {/if}