Skip to main content
Any public Pascal project can be embedded on another site with a plain <iframe> pointing at its viewer page. Visitors get the full interactive viewer — orbiting the camera, toggling levels and wall cutaways, and walking through the scene in first person — with no accounts, SDKs, or scripts required on your side. We rely on the same embed ourselves: the Pascal Capture iOS app shows scenes through this exact viewer.
The Pascal viewer embedded in the Pascal Capture iOS app

The embedded viewer inside the Pascal Capture iOS app — levels panel and controls bar included

Requirements

  • The project must be public. Flip the visibility control in the editor’s top bar from Private to Public. Private projects render an access screen instead of the scene.
  • Grab the URL with the Copy viewer link button next to the visibility control, or copy it from the address bar on the project’s viewer page. It has the form:

Basic embed

Replace PROJECT_ID with your project’s id (the last path segment of your viewer link). For a responsive embed, wrap the iframe in a container with a fixed aspect ratio:

Embed mode for listings

Add embed=1 to show the scene the way the editor’s Preview does: the scene header (project name, breadcrumb and levels), the controls bar and the 2D/3D switcher. The community’s owner card, likes, Duplicate button, collections and the “Get Started” card are hidden.
When the scene is loaded and the opening view has landed, the frame posts one message to its parent, so your page can reveal the frame without showing the default view first:

URL parameters

The viewer accepts two flags to reduce its chrome inside embeds. A value of 1, true, or yes enables a flag.
Even with both bars hidden, visitors can still orbit, pan, and zoom the camera with the mouse or touch.
Signed-out visitors see a small “Get Started” card in the top-right corner of the viewer. It is part of the hosted viewer and can’t be turned off by a URL flag.

What the embed serves

Embeds load the same thing your shared viewer link does: once a published project has finished baking, the viewer serves the optimized baked copy for fast loading, with doors and windows still interactive. Until a fresh bake is ready, it falls back to rendering the live scene. Republishing your project updates every embed automatically — the iframe URL never changes.

Current limits

  • An iframe is the only supported embed today. There is no oEmbed endpoint or JavaScript API; the frame posts one message, pascal:viewer-ready, and accepts none.
  • Only the read-only viewer can be embedded, not the editor.