Embedding Forms

Add forms to any website with a code snippet.

Getting the embed code

After publishing your form, open the Share & Embed dialog from the editor (click Share) or from the Settings page. Choose an embed mode, then copy the code snippet.

Embed modes

SignalForm supports three embed modes:

Inline

The form renders directly on the page inside a container element. Best for dedicated form pages or sections.

<div data-signalform="your-form-slug"></div>
<script src="https://forms.signalform.io/embed.js" defer></script>

Popup

A button opens the form in a centered modal overlay. Good for feedback widgets or optional surveys.

<button data-signalform="your-form-slug" data-signalform-mode="popup">Open Form</button>
<script src="https://forms.signalform.io/embed.js" defer></script>

Slider

A button slides the form in from the right side of the screen. Works well for contact forms or support requests.

<button data-signalform="your-form-slug" data-signalform-mode="slider">Open Form</button>
<script src="https://forms.signalform.io/embed.js" defer></script>

Customizing the trigger

For popup and slider modes, you can change the button text to anything you want. Just edit the text between the <button> tags:

<button data-signalform="your-form-slug" data-signalform-mode="popup">Leave Feedback</button>

You can also apply your own CSS classes or styles to the button element. The data-signalform attributes are all SignalForm needs to find and activate the element.

Direct link

Every published form also has a direct link you can share anywhere:

https://forms.signalform.io/your-form-slug

This link is shown in the Share & Embed dialog and works on any device.

How the script works

The embed script (embed.js) is a small, lightweight loader. It:

  1. Scans the page for elements with a data-signalform attribute.
  2. Loads the form renderer into the element (inline) or attaches a click handler (popup/slider).
  3. Uses the defer attribute so it doesn't block page load.

You only need to include the script once per page, even if you embed multiple forms.