Compare gallery approaches
Choose Nuxt Photo, PhotoSwipe, lightGallery, Nuxt Image, or a custom stack based on the work your application should own.
The right choice depends on whether you need an integrated Nuxt photo system, a focused viewer, a broad media gallery, image delivery, or complete application ownership.
Verified on 2026-07-14 against the linked official documentation. Nuxt Photo capabilities reflect the current documentation site.
| Choice | Primary job | Album layout | Lightbox | Carousel | Nuxt image delivery | Application-owned integration |
|---|---|---|---|---|---|---|
| Nuxt Photo | Coordinated Nuxt photo UI | Rows, columns, masonry | Built in | Built in | Optional integration | Low for ready-made components |
| PhotoSwipe | Focused image viewer | Application-owned | Built in | Application-owned | Application-owned | Medium |
| lightGallery | Plugin-rich image and video viewer | Application-owned | Built in | Viewer carousel | Application-owned | Medium |
| Nuxt Image | Responsive image delivery | None | None | None | Primary capability | High for gallery behavior |
| DIY Nuxt stack | Application-specific system | Your choice | Your choice | Your choice | Your choice | Highest |
Choose Nuxt Photo when
- You want albums, grouped navigation, carousel, lightbox, gestures, and SSR behavior to share one photo model.
- You have stable IDs and real image dimensions.
- The ready-made components cover most of the design.
- You want Nuxt Image integration without making it a requirement.
The trade-off is intentional scope. Nuxt Photo does not expose every Embla option, media plugin, or image-provider detail.
Choose PhotoSwipe when
PhotoSwipe is a focused viewer with progressive-enhancement markup, responsive image support, zoom, and dynamic core loading. Its setup requires predefined image dimensions and leaves the visible gallery layout to your application.
Choose it when the viewer is the product and you want to own thumbnail layout and Nuxt integration. See the PhotoSwipe getting-started guide and Vue gallery example.
Choose lightGallery when
lightGallery provides a Vue component and a large plugin surface for thumbnails, video, zoom, autoplay, sharing, rotation, fullscreen, and more. That breadth is useful for mixed-media experiences. Review its GPL and commercial licensing before adoption.
Choose it when plugin breadth and video support matter more than Nuxt-native SSR and album ownership. See the Vue integration and official feature and licensing guide.
Use Nuxt Image with Nuxt Photo
Nuxt Image generates provider-backed responsive URLs and attributes. It does not own albums, navigation, modal behavior, or carousels. Nuxt Photo can use that delivery pipeline for thumbnails and lightbox slides.
See the Nuxt Image configuration reference.
Build a custom stack when
Choose a custom stack when the application has requirements outside Nuxt Photo's supported model and the team is prepared to own:
- Collection identity and navigation order
- Layout measurement and SSR fallbacks
- Modal focus and page isolation
- Gesture conflicts and zoom state
- Carousel and lightbox synchronization
- Vendor upgrades and accessibility regression tests
The custom path offers the most control and the highest ongoing integration cost.