5
languages as standard
nl · de · fr · pl · es
13
field types
from short text to a scale
0
lines of code needed
100%
on your own server
The trouble with forms in several languages
Offering a form in five languages sounds simple until you try it. The usual approach is to build five separate forms, one per language. That works right up until someone wants to change a question — now you have to do it in five places, and you will forget the fifth.
The answers are worse. Five forms produce five datasets with different column names, and you will never sensibly join them again. Anyone who has tried to line up a Polish and a French export knows how that ends.
Formulira turns it around. There is one form with one set of questions. Every question has a key that does not change when the text is translated or rewritten. The visitor sees their own language; you get a single table where a Polish and a Spanish submission sit side by side, in the same columns.
How it works
From an empty screen to a published form in five languages.
- 1
Assemble the questions
Drag the questions into order, pick a type for each one and decide whether it is required. Thirteen field types, from a short text box to a scale of 1 to 10 and a consent checkbox that records exactly what someone agreed to.
- 2
Let it translate
The moment you save a question it goes out to every active language. Per field you see whether the translation is missing, machine made, or checked by a person. Whatever you correct is never overwritten again.
- 3
Publish
A published version is fixed. Edit the form afterwards and you are working on a draft, while answers already received stay tied to the version they were filled in on.
- 4
Invite or share
Share the general link, or generate personal invitations in bulk. With a personal link you know who opened it and who never filled it in — exactly the group worth a reminder.
- 5
Read and export
Filter by date and language, export to CSV or Excel with the field key as the column header, or produce a PDF of a single submission. Retention is set per form; whatever expires disappears by itself.
What sets it apart
Translations you can trust
Machine translation gets you to five languages in one click, but short answer options are where it goes wrong. Formulira flags options of one or two words as "review recommended" and walks you through everything that has not been checked yet, in one screen.
Exports that stay correct
Columns carry the field key, not the label. Rename a question or translate it and your export keeps the same columns — across multiple form versions too.
GDPR as the starting point
IP addresses are only ever stored hashed. Per form you set a retention period that is recorded on the submission itself, so a later change does not keep old answers longer than the person filling it in could expect.
Immutable versions
A published version never changes. Answers hang off the version they were given on, so you always know exactly which question someone was looking at.
Personal invitations
One link per recipient, carrying the language and any prefilled values. The token disappears from the address bar once opened, so it cannot travel by screenshot or a shared URL.
Open to your own systems
A REST API with keys and scopes, plus webhooks that push to you the moment something arrives. Your own application or agent builds forms and reads answers without anyone in between.
Frequently asked questions
- Where does my data live?
On the server Formulira runs on. Two things can leave it, both of them on purpose. The translation engine sees the labels of your questions — never the answers. And if you switch on AI analysis for a particular form, the free-text answers to the question you analyse are sent to Anthropic to be summarised into themes; no names, email addresses or other fields go with them. That switch is off by default and set per form, so a job application or an incident report stays where it is unless you decide otherwise. Every run is recorded in the audit log.
- Can I add questions myself, without a developer?
Yes. The question model is entirely data driven: not a single question lives in code. You assemble forms in the admin, drag them into order and publish when you are ready.
- What if a translation is wrong?
You correct it in the translation screen. From that moment it is marked "reviewed" and the translation engine leaves it alone, even during a full re-translation of the form.
- Can I import an existing question list?
Yes, in two shapes. As JSON when you want to decide exactly which type each question gets, or as plain text — one question per line, answer options underneath with a dash. The field types are then guessed and you check them in the builder.
- How long are answers kept?
You decide, per form. The retention period is recorded on the submission itself when it arrives, and a nightly job removes whatever has expired. A job application deserves a different setting from an incident report.