Description
Photo Sphere Viewer is a WordPress plugin that embeds interactive 360° content — panoramas, multi-scene virtual tours, 360° video and AR-ready 3D models — directly in your pages. Visitors drag, pinch and zoom to look around. You add a viewer with a block-editor block, an Elementor widget or a shortcode. Everything is hosted on your own site: no iframes, no third-party embed account, no watermark.
The free version has no limit on panoramas, tour scenes, videos or models, and includes info hotspots, auto-rotation, gyroscope viewing on phones and 360° video autoplay. Photo Sphere Viewer Pro adds unlimited hotspots with photos, a scene gallery and compass for tours, and full-resolution image loading for drone panoramas.
Try it before you install: click Live Preview above to open a working panorama with hotspots and a three-scene virtual tour in your browser.
At a glance
- What it shows: 360° panoramas (equirectangular JPEG/PNG), virtual tours, 360° video (MP4) and 3D models (.glb / .gltf) with an AR button on phones
- How you add it: the 360° Panorama and 360° Virtual Tour blocks, four Elementor widgets, or the
[psv],[psv_tour],[psv_video]and[psv_ar]shortcodes - Who it is for: real estate agents, hotels and vacation rentals, 360° and drone photographers, museums and campuses, WooCommerce stores, architects
- Works with: any stitched equirectangular image — DJI, Ricoh Theta, Insta360, GoPro MAX, Qoocam, Kandao, Google Street View and Android Photo Sphere exports
- Price: free. An optional Pro add-on adds unlimited hotspots, tour navigation and full-resolution loading, with a 30-day money-back guarantee
Four viewers in one plugin
360° panorama viewer — Upload an equirectangular photo and visitors look around it on desktop or mobile. Add info hotspots that label what they are looking at, let it auto-rotate, and set the field of view, zoom limits, movement speed and starting angle. The toolbar carries zoom, auto-rotate, caption, download, fullscreen and a gyroscope button for phones.
Virtual tour builder — Link as many scenes as you want with 3D arrows. In the block editor you place each arrow by clicking on the photo where the doorway is. Each scene has its own caption and starting view, and you choose which scene opens first. A good fit for property walkthroughs, hotel tours and museum floor plans.
360° video player — The same look-around interaction for an equirectangular MP4, with play/pause, seek and volume controls, plus muted autoplay and loop.
AR 3D model viewer — Embed a .glb or .gltf model with Google’s <model-viewer>. Visitors rotate it in the page, and phones that support AR get a button to place it in their room. Set a poster image, auto-rotate, shadow intensity, HDR environment lighting, a skybox background and alignment.
How to add a 360° panorama to WordPress
- Install and activate Photo Sphere Viewer.
- Upload your equirectangular photo to the Media Library.
- Add it to a page in whichever editor you use:
- Block editor (Gutenberg): insert the 360° Panorama block, pick the photo, then set the caption, height, toolbar and hotspots in the sidebar. For a walk-through, insert the 360° Virtual Tour block and pick several photos.
- Elementor: drag the Photo Sphere Viewer widget into your layout and choose the image.
- Anywhere else: open Photo Sphere Viewer in the admin menu, choose Shortcode, build one visually and paste it into a post, widget area or WooCommerce product description.
- Publish. The viewer is responsive and touch-ready by default.
Tours, 360° video and 3D models work the same way through their own Elementor widgets (PSV Virtual Tour, PSV 360° Video, AR 3D Viewer) or the Shortcode Builder.
What you get for free
- All four viewers, with unlimited panoramas, tour scenes, videos and 3D models
- No watermark on your viewers
- Info hotspots — up to five per panorama, each with a label on hover and a panel with text and a link
- Auto-rotation on panoramas and tours, with an option to start on load
- Gyroscope viewing — phone visitors look around by moving their device
- Zoom, caption, download and fullscreen toolbar buttons
- Virtual tours with 3D navigation arrows and per-scene captions and starting angles
- 360° video with play, seek and volume controls, muted autoplay and loop
- 3D models with a mobile AR button, poster image, auto-rotate, shadows, HDR lighting and a skybox
- The 360° Panorama and 360° Virtual Tour blocks — place hotspots and tour arrows by clicking on the photo — four Elementor widgets and a visual Shortcode Builder
- Field of view, starting yaw and pitch, mouse-wheel zoom, drag, two-finger touch and fisheye options
- Styling for the toolbar background, caption colour, typography and alignment
- Width and height in px, %, vh or vw
- Translation-ready, and works with WPML and Polylang
What Pro adds
Upgrade when a tour has to sell — a listing, a hotel, a venue:
- Unlimited info hotspots, with a photo in each panel — label every room and feature, and show the floor plan, the view or the finish right where the visitor is looking
- Full-resolution originals — WordPress downsizes any upload over 2560px to a
-scaledcopy. Pro loads the original instead, so a 40MP drone panorama keeps its detail - Scene gallery bar and compass overlay for virtual tours — visitors jump straight to a room and see which way they face
- Panorama gallery, on-screen move buttons and a description panel
- Restricted viewing angle to hide a tripod, ceiling or anything else out of frame
- Custom camera orbit and gesture locks for 3D models
- Priority email support from the WPXERO team
Pro is an add-on to this plugin, so everything you have already built keeps working. It comes with a 30-day money-back guarantee.
Built for real camera gear
- DJI and other drone panoramas — high-megapixel aerial panoramas are exactly what WordPress’s 2560px
-scaledcopy damages. Pro’s full-resolution loading serves the original upload - Ricoh Theta, Insta360, GoPro MAX, Qoocam, Kandao — any properly stitched equirectangular JPEG or PNG works without a special export
- Google Street View and Android Photo Sphere — upload the file and go
Who uses it
- Real estate — property walkthroughs and listing tours
- Hotels and vacation rentals — show rooms before guests book
- 360° and drone photographers — portfolios that keep their detail
- Museums, campuses and venues — self-guided tours
- WooCommerce stores — 360° product views and AR models in product descriptions
- Architects and interior designers — spaces clients can explore
Compatibility
Works with the block editor, Elementor and Elementor Pro, WooCommerce, Yoast SEO, Rank Math, WPML, Polylang, WP Rocket, LiteSpeed Cache and W3 Total Cache. The viewer scripts load only on pages that contain a viewer.
How It Works
Using the block editor
Add the 360° Panorama block, choose an equirectangular photo, and set the caption, height, toolbar buttons and info hotspots in the sidebar. Click Place on panorama to position a hotspot by pointing at the photo.
Add the 360° Virtual Tour block and choose several photos at once — they are linked in order straight away. Click Place arrow on any link to put it where the doorway is, and Set starting view to choose what visitors see first. For 360° video and 3D models, build a shortcode with the Shortcode Builder and paste it into a Shortcode block.
Using Elementor
Open the Elementor editor and search the widget panel for Photo Sphere Viewer, PSV Virtual Tour, PSV 360° Video or AR 3D Viewer. Drag one into your layout, choose your image, video or model, then set the toolbar and styling options. Widgets you don’t use can be switched off from the plugin’s admin screen.
Using shortcodes
Build a shortcode visually with the Shortcode Builder in the admin menu, or write one by hand:
[psv image="https://example.com/panorama.jpg" caption="Living room"]
[psv_video src="https://example.com/360-video.mp4"]
[psv_ar src="https://example.com/model.glb"]<h3>External services</h3>
Google Hosted Libraries — <model-viewer>
The AR 3D Viewer loads Google’s model-viewer web component from https://ajax.googleapis.com/ajax/libs/model-viewer/3.4.0/model-viewer.min.js. It is requested by the visitor’s browser only on pages that actually contain an AR 3D Viewer widget or a [psv_ar] shortcode; pages without one make no request. Loading a script from Google’s CDN exposes the visitor’s IP address and user agent to Google, as any externally hosted asset does. No other data is sent, and the plugin sends nothing to this service itself.
Google Hosted Libraries terms: https://developers.google.com/terms
Google privacy policy: https://policies.google.com/privacy
If another plugin has already registered the psv-ar-model-viewer script handle, this plugin defers to it and makes no request of its own.
Freemius
Licensing, updates and the optional usage-data opt-in are handled by Freemius. Nothing is sent unless you opt in during activation. Terms: https://freemius.com/terms/ — Privacy: https://freemius.com/privacy/
Screenshots







Blocks
This plugin provides 2 blocks.
- 360° Panorama Drop an equirectangular 360° photo into a page. Visitors drag, pinch and zoom to look around.
- 360° Virtual Tour Link 360° photos into a walk-through. Place the arrows between rooms by clicking on each photo.
Installation
- In your WordPress dashboard go to Plugins Add New, search for Photo Sphere Viewer and click Install Now. Or upload the
photo-sphere-viewerfolder to/wp-content/plugins/. - Click Activate.
- Add 360° content with the 360° Panorama block, an Elementor widget, or a shortcode built under the Photo Sphere Viewer admin menu.
FAQ
-
How do I add a 360° image to WordPress?
-
Install Photo Sphere Viewer, upload your equirectangular photo to the Media Library, then insert it with the 360° Panorama block, the Photo Sphere Viewer Elementor widget, or a
[psv]shortcode. Visitors can drag, pinch and zoom the result. -
Is Photo Sphere Viewer free?
-
Yes. The free plugin includes all four viewers — panorama, virtual tour, 360° video and AR 3D model — with no limit on how many you publish and no watermark. Pro is an optional paid add-on for advanced features.
-
What is an equirectangular image?
-
It is the standard flat format for a 360° photo: a 2:1 image that covers the full sphere, 360° wide and 180° tall. 360° cameras and drone panorama modes export it, and it is the format this plugin displays.
-
What image, video and 3D formats are supported?
-
Equirectangular JPEG or PNG for panoramas and tours, equirectangular MP4 (or another format the browser can play) for 360° video, and .glb or .gltf for 3D models.
-
How do I create a virtual tour in WordPress?
-
Use the PSV Virtual Tour Elementor widget or the
[psv_tour]shortcode from the Shortcode Builder. Add a panorama for each scene, link the scenes together, and choose which one opens first. Visitors move between scenes with 3D arrows. There is no limit on the number of scenes. -
Do I need Elementor?
-
No. The 360° Panorama block works in the block editor, and shortcodes work in any post, page, widget area, theme builder or WooCommerce product description.
-
Does it work with the block editor (Gutenberg)?
-
Yes. The 360° Panorama and 360° Virtual Tour blocks are built in, and you place hotspots and tour arrows by clicking on the photo. 360° video and 3D models are added to the block editor through a Shortcode block.
-
Does it support DJI, Ricoh Theta, Insta360, GoPro MAX or Google Street View images?
-
Yes — along with Qoocam, Kandao and Android Photo Sphere captures. Any properly stitched equirectangular image works without conversion.
-
Why do my drone panoramas look soft or blurry after uploading?
-
WordPress causes that, not the viewer. Since version 5.3, any image over 2560px on its long edge is saved as a
-scaledcopy and served instead of your original. Pro’s “Use Original Image” option (oruse_original="yes"on a shortcode) loads the original upload so the detail is kept. -
Does it work on phones and tablets?
-
Yes. Drag-to-look, pinch-to-zoom and two-finger gestures all work on touch screens. Switch on gyroscope viewing and phone visitors get a toolbar button that makes the view follow the phone as they move it; browsers require HTTPS for that.
-
Can I add clickable hotspots to a panorama?
-
Yes, for free. Info hotspots show a label on hover and open a panel with text and a link when clicked. The free plugin shows up to five per panorama; Pro removes the limit and adds a photo to each panel. They are available in the block, the Elementor widget, the Shortcode Builder and the
[psv]shortcode. Navigation arrows between tour scenes are free and unlimited. -
Can I embed a 360° video?
-
Yes. Use the PSV 360° Video widget or the
[psv_video]shortcode. Play/pause, seek, volume, muted autoplay and loop are all free. -
Can I show a 3D model in augmented reality?
-
Yes. The AR 3D Viewer widget and
[psv_ar]shortcode display .glb and .gltf models, and phones that support AR show a button to view the model in the room. HDR lighting and a skybox are free; Pro adds a custom camera orbit and locks for zoom and tap-to-rotate. -
Does it work on WooCommerce product pages?
-
Yes. Paste a shortcode into the product description or use an Elementor template to add a 360° product view or an AR model.
-
How do I change the starting view angle?
-
Every panorama and tour scene has a starting yaw (-180° to 180°) and pitch (-90° to 90°). Set them in the Elementor controls, or with the
default_yawanddefault_pitchshortcode attributes. -
Will it slow down my site?
-
The viewer scripts load only on pages that contain a viewer, so other pages are unaffected. It is compatible with WP Rocket, LiteSpeed Cache and W3 Total Cache.
-
Is it translatable?
-
Yes. The text domain is
photo-sphere-viewerand translations load from/languages/. It works with WPML and Polylang. -
What is the difference between Free and Pro?
-
Free gives you all four viewers with no limits: unlimited panoramas, tour scenes, 360° videos and 3D models, with up to five info hotspots per panorama, auto-rotation, gyroscope viewing, 360° video autoplay and loop, HDR lighting and skybox for 3D models, and zoom, caption, download and fullscreen controls.
Pro adds unlimited hotspots with a photo in each panel, full-resolution original loading, the scene gallery bar and compass for tours, the panorama gallery, restricted viewing angles, on-screen move buttons, the description panel, camera orbit and gesture locks for 3D models, and priority email support. The Upgrade screen inside the plugin shows the full comparison, and plans are listed here.
-
I already bought Pro. Did I lose anything in 2.4.0?
-
No. Every Pro feature you had still works exactly as before. Auto-rotation, gyroscope viewing, video autoplay and loop, and HDR lighting and skybox moved into the free plugin so more people can try it; Pro keeps unlimited hotspots with photos, full-resolution loading, the tour gallery and compass, and the rest of the list above.
-
Will my existing panoramas and tours keep working if I upgrade?
-
Yes. Pro is an add-on that runs alongside the free plugin. Nothing needs rebuilding — the Pro options simply become available on the viewers you already have.
-
Can I get a refund on Pro?
-
Yes. Pro has a 30-day money-back guarantee.
-
Where do I get help?
-
Free users can post on the WordPress.org support forum. Pro licence holders get direct email support from the WPXERO team.
Reviews
Contributors & Developers
“Photo Sphere Viewer – 360° Virtual Tour, Panorama, 360 Video & AR 3D Viewer” is open source software. The following people have contributed to this plugin.
ContributorsInterested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.4.0 [October 27, 2026]
- Added: Info hotspots are free — up to five per panorama, with a label, text and a link. Pro removes the limit and adds a photo to each panel
- Added: A one-time, dismissible request for a WordPress.org review, shown only after a viewer has been live for a few days. It also links to the support forum for anyone who is stuck
- Added: 360° Virtual Tour block — pick several photos and they are linked in order; click Place arrow to put each link where the doorway is, and Set starting view for each scene. Switchable from the Block Editor screen like the other components
- Added: Place on panorama for hotspots in the 360° Panorama block — position a hotspot by clicking on the photo instead of typing angles
- Added:
autorotate_autoplayattribute on[psv_tour] - Fixed:
[psv_tour scenes='[…]'], andhotspots/galleryJSON on[psv], did not work in posts — WordPress ends a shortcode at its first], so the attribute was cut short and the tour showed “Please provide a scenes attribute”. Existing posts are repaired automatically when displayed; the Shortcode Builder now writes these attributes in a bracket-freeb64:form that works everywhere, including Elementor’s Shortcode widget - Added: A WordPress Playground blueprint, so the plugin page can offer a Live Preview with a working panorama and virtual tour
- Changed: Auto-rotation is free again on every viewer — the Elementor widgets, the block and the shortcodes. Existing panoramas show the auto-rotate button where it was switched on; nothing starts rotating unless “Autoplay” is enabled
- Changed: Gyroscope viewing, 360° video autoplay and loop, and 3D HDR lighting and skybox are free
- Changed: Redesigned dashboard — larger, easier-to-read screens with a top bar for Docs and Upgrade. The “Integration” menu item is now “Dashboard”
- Changed: Pro now centres on what sells a property or venue tour: unlimited hotspots with photos, full-resolution originals, the scene gallery and compass, the panorama gallery, restricted viewing angles, camera orbit and priority support. Pro sites render exactly as before
- Fixed: The gyroscope never switched on — its toolbar button was only added to the viewer’s default toolbar, which no Photo Sphere Viewer embed uses
- Fixed: Info hotspots had no styling on live sites — the built stylesheet holding the hotspot markers and panels was registered under the same handle as the viewer’s own CSS, so WordPress dropped it. Both now load
- Fixed: 360° video autoplay and mute did nothing, and video always looped. Photo Sphere Viewer 5 takes these on the video adapter, not the video plugin; “Loop” off now plays once
- Fixed: Auto-rotate delay (Elementor widget, shortcode builder and
autorotate_delay) and zoom speed had no effect - Fixed: A virtual tour with a start scene number past the last scene, or an arrow to a scene with no photo, showed an empty box. It now starts at the first scene and skips the broken arrow
- Fixed:
width="600px"and similar values on the shortcodes produced an invalid size; numbers with a unit are now kept as written - Security: Captions, descriptions and scene names in shortcodes and widgets are filtered for HTML, and viewer settings are encoded so entity-encoded markup can no longer run script
- Improved: A missing Freemius SDK no longer stops the site with a fatal error; the plugin runs without licensing instead
- Improved: The Virtual Tour widget explains what is missing when no scene has a photo, and a viewer that fails to start (for example without WebGL) says so instead of leaving a blank box
- Removed: The Elementor widget’s Longitude Range, Latitude Range, Zoom Button Increment and Capture Cursor controls. Photo Sphere Viewer 5 ignores all four; Pro’s restricted viewing angles replace the ranges
2.3.0 [September 11, 2026]
- Added: 360° Panorama block for the block editor — pick a photo, then set the caption, height, toolbar and info hotspots from the sidebar
- Added: Block Editor card on the Integration screen, with its own guide and on/off switch. Each integration screen now lists only its own components
- Added: Info hotspots (Pro) — clickable points on a panorama showing a label on hover and a panel with a photo, text and a link. Available in the block, the Elementor widget, the shortcode builder, and as a
hotspotsattribute on[psv] - Added: A first-run screen with a live, draggable demo panorama, so a new install shows what the plugin does before asking for any setup. It disappears once you save your first shortcode
- Added: Locked Pro controls now name the feature, say what it does for your visitors, and link to the plans with the price shown
- Changed: Fullscreen is free on every viewer, and zoom, caption and download are free in virtual tours and 360° video — these are basic viewer navigation
- Changed: Auto-rotation is a Pro feature on every surface — the Elementor widgets, the block and the shortcodes — rather than being free in some places and paid in others
- Changed: The
[psv]shortcode honours the same Free/Pro boundary as the Elementor widgets. Move buttons, the description panel and the panorama gallery are Pro there too, anduse_original— full-resolution loading — is a Pro feature on both surfaces. Free panoramas load WordPress’s standard image, as they already did in the Elementor widget - Changed: Upgrade links open Freemius checkout inside the WordPress dashboard when that page is available on your site, and the plans page otherwise
- Changed: Promotional messaging is held back for the first week after activation
- Changed: The plugin’s own admin screen no longer hides WordPress’s update and security notices, or licence messages — only unrelated plugins’ notices are tidied away
- Changed: Deleting the plugin now removes its own data — saved shortcodes, options and transients, across every site on a network. Deactivating still leaves everything in place
- Fixed: The Pro upgrade panel did not appear at all in the Elementor editor on sites running Elementor Pro, because it relied on a control type Elementor only registers when Pro is absent
- Fixed:
[psv_video]produced an empty viewer — the shortcode path never attached the 360° video adapter - Fixed: Pro video autoplay and loop had no effect; both were resolved server-side and then discarded before reaching the player
- Fixed: Turning off “MouseWheel” or “Mouse Move” did nothing — disabled options were being stripped out before reaching the viewer
- Fixed: The Free/Pro comparison table listed features incorrectly in both directions; it is now generated from the same tier map the viewers use
- Fixed: A Pro user who switched every premium navbar toggle off had the free defaults silently restored
- Fixed: The welcome screen after activation never actually opened
- Fixed: Enabling a panorama gallery alongside Pro could drop the gallery button from the toolbar
- Security: Added capability checks to the shortcode-manager AJAX endpoints, which previously verified only the nonce
- Improved: The Vite dev-server probe no longer runs on production or staging sites, where it could add up to a second to page load whenever its cache expired
- Documentation: Disclosed the Google-hosted
model-viewerscript used by the AR viewer, and removed references to a Gutenberg block that did not exist yet
2.2.5 [August 23, 2026]
- Fixed: Shortcode Builder’s Virtual Tour live preview could copy a
[psv_tour]shortcode missing its requiredscenesattribute
2.2.4 [July 31, 2026]
- Added: Proper uninstall handling — fires Freemius uninstall event for the free plugin on delete
- Removed: “Coming Soon” Gutenberg card from the admin Integration screen
- Improved: Updated Freemius SDK to 2.13.4
2.2.3 [June 06, 2026]
- Fixed: Shortcode panoramas failing on pages without jQuery
- Improved: Asset loading and Vite dev-server detection
- Improved: Centralized Pro add-on detection
- Improved: Updated Elementor widget icons
- Improved: Code cleanup across widgets and shortcode manager
2.2.2 [May 22, 2026]
- Improved: improve plugin performance and stability
- Fixed: various minor bug fixes and stability improvements
2.2.1 [May 20, 2026]
- Fixed: High-resolution panorama detail loss by loading original images instead of scaled versions
- Improved: stability and performance
2.2.0 [May 05, 2026]
- Added: AR 3D Viewer — Elementor widget and
[psv_ar]shortcode for .glb/.gltf models (model-viewer; optional AR on supported devices) - Improved: Admin dashboard UI — styling, navigation, and Upgrade page comparison table (including AR 3D Viewer Free vs Pro)
- Improved: Tested compatibility through WordPress 7.0.0
2.1.1 [April 13, 2026]
- Fixed: Compatibility with WordPress 7.0 and Elementor 4.0.1
2.1.0 [March 07, 2026]
- Added: Virtual tour support for both widget and shortcode implementations
- Added: 360° video playback support for widget and shortcode
- Added: Gallery view support for widget and shortcode
- Added: Starting position (yaw/pitch) controls for panorama and tour scenes
- Improved: Compatibility with WordPress 6.9 and Elementor 3.35.5
- Improved: Performance optimizations for faster panorama rendering
- Fixed: Image display issue in Elementor 3.35.5 when placing widget inside columns
- Fixed: Multiple Photo Sphere Viewer widgets rendering incorrectly within the same section in editor mode
- Fixed: Duplicate frontend initialization on Elementor pages
- Fixed: Various minor bug fixes and stability improvements
2.0.3 [February 13, 2026]
- Fixed: Assets enqueue issue
2.0.2 [February 09, 2026]
- Improved: Compatibility updates for WordPress 6.9 and Elementor 3.35.3
- Improved: Performance improvements and bug fixes
2.0.1 [December 03, 2025]
- Fixed: Upgrade notice issue
- Added: Pro version pricing link
- Improved: Compatibility with latest WordPress & Elementor versions
2.0.0 [November 29, 2025]
- Added: Shortcode builder
- Improved: Refactored codebase for improved performance
- Added: Pro version
1.3.3 [October 01, 2025]
- Improved: Compatibility updates
- Improved: Documentation improvements
1.3.2 [May 01, 2025]
- Improved: Compatibility updates
1.3.1 [December 21, 2024]
- Improved: System improvements
- Improved: Compatibility updates
1.3.0 [October 09, 2024]
- Improved: Compatibility updates
1.2.0 [October 09, 2023]
- Improved: Compatibility updates
1.1.0 [March 15, 2023]
- Improved: Elementor compatibility update
1.0.1 [May 15, 2022]
- Added: Shortcode feature
1.0.0 [February 06, 2022]
- Initial release
