Adjust profile picture

@if (preservesAnimation()) { Animated GIF and WebP avatars keep their original animation and framing. } @else { Drag image to frame subject. Zoom until preview looks right. Final image saves as 256x256 WebP. }

@if (preservesAnimation()) { Animation and original framing are preserved. } @else { Preview matches saved crop. }

Source

{{ source().name }}

{{ source().width }} x {{ source().height }}

Zoom

@if (preservesAnimation()) { Animated avatars keep the original frame sequence. } @else { Use wheel or slider. }

@if (preservesAnimation()) { Animated upload detected. } @else { {{ (clampedTransform().zoom * 100).toFixed(0) }}% zoom }

@if (errorMessage()) {
{{ errorMessage() }}
}