Toimii is launching in 2026 — this site is an early preview.

These guides describe Toimii once it's live. The dashboard and billing aren't available yet — Toimii launches in 2026.

How to embed a contact form on WordPress without a plugin

A Custom HTML block. Two lines. No plugin install, no PHP, no database changes — works on Block Editor or Classic Editor.

<!-- Add this anywhere on your page -->
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Does this actually work?

Yes — on WordPress.org self-hosted, and on WordPress.com Business plan and higher. The Custom HTML block is built in. No plugin needed. The one catch — your user role needs the unfiltered_html capability (Administrators have it; Editors and Contributors don't).

Step by step

1
Open the page or post
In WP Admin, go to Pages or Posts and open the entry where you want the form. Make sure you're logged in as an Administrator — Editor and Contributor roles get scripts silently stripped on save.
2
Add a Custom HTML block
Click the + (Add Block) button, search for "Custom HTML", and insert the block. In Classic Editor, switch to the Text tab.
3
Paste the embed code
Copy the two lines from your Toimii dashboard and paste them into the block. The Block Editor doesn't preview custom scripts in the editor view — that's expected.
4
Preview
Click Preview. The form should render on the preview page — preview is the source of truth, not the editor view.
5
Publish or update
Click Update or Publish. View the live URL to confirm the form works end-to-end. Submit a test message.
Plan required

WordPress.org self-hosted has no plan restriction. WordPress.com requires the Business plan (or any paid plan with at least one plugin activated) — the free, Personal, and Premium plans block custom code.

Common gotchas

  • WordPress strips <script> tags from non-admin users silently. Editors and Contributors lose the embed on save with no warning — only Administrators (or users with the unfiltered_html capability) can keep it.
  • Caching plugins (W3 Total Cache, WP Super Cache, LiteSpeed Cache) sometimes need a manual cache purge after first publish before the script tag reaches visitors.
  • Some security plugins (Wordfence, iThemes Security) block inline scripts even for admins. If the form doesn't render, allowlist cdn.toimii.io and api.toimii.io in the plugin's Firewall / Allow list.
  • AMP plugins strip arbitrary scripts. Disable AMP for the page that hosts the form, or skip AMP entirely.
  • In the Classic Editor, paste in Text mode — not Visual. Visual mode re-encodes raw HTML.

Frequently asked

Why isn't my embed showing after I saved it?

Check your user role. WordPress's wp_kses() filter strips

Embedding on a different platform?

Same two lines of code, picked apart for each platform.

Ready to try it?

30-day free trial. No credit card. Set up in minutes.

No credit card required. Set up in 2 minutes.