Loading pattern...

What is Pull to Refresh?

Pull to Refresh is a mobile gesture where users pull down from the top of a scrollable list to reload/update content. Shows a spinner or animation while refreshing, then snaps back. Popularized by Twitter (now X), now a standard mobile pattern. Gives users control over when to check for new content.

When Should You Use This?

Use pull-to-refresh for feeds, timelines, message lists, or any frequently-updating content where users expect fresh data. Essential for mobile apps with dynamic content (social media, news, email). Don't use for static pages or when you have auto-refresh. Provide visual feedback (spinner, loading indicator) while refreshing. Use native implementations (iOS UIRefreshControl, Android SwipeRefreshLayout) or libraries like react-pull-to-refresh.

Common Mistakes to Avoid

  • On desktop—this is a mobile-only pattern; provide a refresh button for desktop
  • Auto-refreshing too often—let users control when to refresh, don't force it
  • No visual feedback—users need to see something is happening; show spinner/loader
  • Breaking scroll—pull-to-refresh should only trigger at the top of the list
  • Too sensitive—require meaningful pull distance before triggering refresh

Real-World Examples

  • Twitter/X—pioneered pull-to-refresh for timeline updates
  • Instagram—pull to refresh feed, Stories, Explore
  • Gmail—pull to check for new emails in inbox
  • Slack—pull to refresh channels and DMs

Category

Interaction Patterns

Tags

pull-to-refreshmobile-gesturerefreshmobile-uxswipe

Permalink