Form Builder Plugin for the Moodle™ Platform

Ask better questions.
Get better answers.

Nice Form turns any Moodle course into a place to collect structured data — surveys, feedback, and registrations — built visually, answered in Moodle, and understood through built-in reports.

Drag Choose a field
Drop Build your form
Publish Collect responses
One-time payment
$ 75 USD
Buy Plugin
Why Nice Form

Everything you need to collect and understand data

A single activity that replaces spreadsheets, paper forms, and third-party survey tools — without leaving Moodle.

Drag & Drop Builder

Add, reorder, and configure fields on a visual canvas — no code and no page reloads.

20+ Field Types

Create forms using text, choice, date, rating, signature, grid, file upload, and grouped fields.

Conditional Logic

Show, hide, or skip fields and pages automatically based on answers provided earlier in the form.

Reports & Export

Review responses using clear charts and tables, then export structured results to Excel in one click.

Field types

A field for every kind of question

Mix and match more than twenty field types on the same form, including rich text, signatures, and file uploads handled through Moodle’s own file API.

Text
Textarea
Number
Range
Rating
Email
URL
Date / Time
File upload
Signature
Radio
Checkbox
Select
Tag
Grid
Group
Heading
Note
Design page

A canvas built for fast iteration

Pick a field type from the palette, drop it onto the canvas, and configure it in place. Reorder fields with drag handles, group related questions, and split long forms into multiple pages — all from one screen.

  • Live, no-reload field settings for labels, placeholders, defaults, and help text
  • Multi-page forms with reorderable page tabs
  • Required-field and format validation built in
  • Group fields side by side inside a single card
Conditional logic

Show learners only what applies to them

Build rules that react to earlier answers: reveal a follow-up question, jump straight to a relevant page, disable a field, or end the form early. Shorter forms mean higher completion rates.

Submissions

Every response, organised automatically

Search, filter, and sort responses in a familiar table. Choose which columns you see, export to Excel, or open a single submission to view or edit it.

Reports

Turn answers into insight

Every choice-based field is charted automatically. Switch between chart and table view, filter by any field, and save your preferred report layout.

Report preferences

What is your main reason for taking this course?

radio
15

How do you prefer to learn course content?

radio
15

When do you usually access the course?

radio
15
Form translation

One form, every language

Translate form text, field labels, options, page names, buttons, and validation messages side by side with the main language, including full right-to-left support.

  • Translate both form-level text and individual fields
  • Show or hide translation languages while editing
  • Full support for Arabic and RTL content
Fits right in

Built for Moodle, not bolted on

Capabilities & permissions

Control who can view, edit, submit, and manage each form using standard Moodle capabilities.

Activity completion

Mark the activity complete automatically after a learner submits a response.

Backup & restore

Forms, logic, and submissions move with your course through Moodle’s backup and restore tools.

Excel export

Download form submissions as structured XLSX files for reporting and offline analysis.

Typical uses

Built for every kind of data collection

Course surveys & questionnaires
Student feedback & evaluations
Registration & application forms
Consent & acknowledgement forms
Checklists
Get started

Ready to build your first form?

Install Nice Form on your Moodle site and start collecting structured responses in minutes.

Form Screenshots

1 / 6
Form Page
Form Designer
Form Submissions
Form Report
Form Details
Form Localization and translation
Form Page Click to enlarge
Form Page
Form Designer
Form Submissions
Form Report
Form Details
Form Localization and translation