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.
Pascal viewer embedded in another website via iframe

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:
https://editor.pascal.app/viewer/<project-id>

Basic embed

<iframe
  src="https://editor.pascal.app/viewer/PROJECT_ID"
  width="800"
  height="500"
  style="border: 0; border-radius: 12px;"
  loading="lazy"
  title="Pascal 3D scene"
></iframe>
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:
<div style="aspect-ratio: 16 / 9;">
  <iframe
    src="https://editor.pascal.app/viewer/PROJECT_ID"
    style="border: 0; border-radius: 12px; width: 100%; height: 100%;"
    loading="lazy"
    title="Pascal 3D scene"
  ></iframe>
</div>

URL parameters

The viewer accepts two flags to reduce its chrome inside embeds. A value of 1, true, or yes enables a flag.
ParameterEffect
hideHeaderHides the top-left card (back arrow, project name, owner, and its actions)
hideBottomBarHides the bottom-center controls bar (levels, walls, walkthrough, orbit, top view)
<iframe
  src="https://editor.pascal.app/viewer/PROJECT_ID?hideHeader=1&hideBottomBar=1"
  width="800"
  height="500"
  style="border: 0; border-radius: 12px;"
  loading="lazy"
  title="Pascal 3D scene"
></iframe>
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, JavaScript API, or postMessage interface.
  • The starting camera can’t be set from the URL — the viewer frames the scene with its default camera.
  • Only the read-only viewer can be embedded, not the editor.