Embed URL parameters

Add query parameters to a hosted form URL to prefill hidden fields or customize an embed’s appearance and language. Use these parameters with /e/FORM_ID or /f/FORM_ID.

Prefill hidden fields

A query parameter prefills a field only if its name matches a hidden field declared in the form’s settings and its value is a string under 1,000 characters. Hidden-field values take precedence over field defaults and saved progress. If a query key appears more than once, it is dropped.

Declare hidden fields in form settings. The name becomes the key in submission data:

{ "hidden_fields": [ { "name": "utm_source" } ] }

A hidden-field name must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Names must be unique and must not collide, regardless of case, with visible-field names in the draft or published form.

Visible fields can be prefilled indirectly by setting their defaultValue to {{hidden_name}}. Numeric field types parse the substituted value as a number. multi_select, checkboxes, and multiple_choice ignore defaultValue.

These names are reserved in embed URLs and cannot be hidden-field names: names starting with __mf_ or mk-, and mf_locale, pc, ac, fg, pfg, bg, ft, and embedPreview.

Styling and language parameters

ParameterEffect
mk-rm-bg=trueMakes the background transparent.
mk-align-left=1Aligns content left on embed pages.
pcSets the primary colour.
acSets the accent and focus-ring colour.
fgSets the text colour.
pfgSets the button text colour.
bgSets the background colour.
ftSets the theme to light, dark, or system.
mf_localeOpens a translation of the form.

Colour values use six-digit hex. Embeds follow the visitor’s system theme by default. Direct /f/ pages use a light theme unless the form’s design or ft specifies otherwise.

mf_locale works on embeds on every plan. On direct pages, it is available on Pro. Translations load only for forms whose owner is on Pro. Free forms always show the powered-by badge and end-screen branding, regardless of the form settings. They show the loading screen regardless of the settings, except inline standard embeds, which always hide it. Custom CSS applies only when the form owner is on a paid plan.

There is no URL parameter to hide the form title or header.

Example

This iframe passes utm_source=pricing as a hidden-field value and sets the embed’s colours and theme. Declare utm_source as a hidden field in the form settings for the prefill to apply.

<iframe src="https://makeform.ai/e/FORM_ID?utm_source=pricing&pc=2563EB&ac=7C3AED&fg=1F2937&pfg=FFFFFF&bg=FFFFFF&ft=light&mk-rm-bg=true&mk-align-left=1" style="width:100%;height:600px;border:0;" title="Form title"></iframe>