Version: 0.8
A document format for forms that are readable by humans and systems alike.
eForm is an open document format for electronic forms.
It combines:
- SVG (visual layout)
- JSON (data + schema)
- ZIP container (packaging)
→ Result: a form that is human-readable, machine-readable, and directly processable
No OCR. No manual data extraction.
Every submitted form is immediately usable as structured data.
An eForm behaves like a digital paper form:
- looks like a document
- can be filled digitally
- can be processed automatically
- remains readable without special software
Design (SVG)
↓
Define schema (JSON)
↓
Fill data (JSON)
↓
Package (ZIP → embedded in SVG)
↓
Open in viewer OR browser
↓
Process / transmit / archive
- Always readable (SVG preview)
- Structured data (JSON)
- System integration ready
- Built-in computation (formulas)
- Open standard (MPL 2.0)
- Extensible via profiles (eCase, eBill)
form.eform
├ preview.svg
└ embedded container (base64 ZIP)
├ manifest.json
├ schema.json
├ data.json
├ layout/
├ formulas/ (optional)
└ registries/ (optional)
The preview ensures the document is always viewable
The container enables full processing
| Component | Purpose |
|---|---|
| Layout (SVG) | visual structure |
| Schema (JSON) | field definitions |
| Data (JSON) | field values |
| Preview (SVG) | static rendering |
| Formulas (optional) | computed values |
- Long-term readability
- Human-friendly form design
- Machine-readable data
- Open specification
- Deterministic behavior
- Independence from proprietary software
eForm supports specialized formats:
- eCase → document bundles (forms + attachments)
- eBill → invoice envelope (XML-based standards like XRechnung / ZUGFeRD)
Profiles extend eForm without breaking compatibility.
- all core specifications rewritten and aligned:
- layout
- schema
- formulas
- container structure
- unified field identifier model (f1, f2, …)
- canonical formula syntax (JSON-based, no inline assignments)
- strict separation of concerns across all components
- deterministic formula evaluation model
- dependency-based computation
- explicit rounding behavior
- side-effect free expressions
- consistent JSON-based definition
- single required attribute: data-eform-field
- reintroduced data-eform-value for multi-option fields
- strict separation of layout and schema responsibilities
- defined SVG subset for predictable rendering
- complete specification set finalized
- viewer, importer, and designer guides added
- mapping and semantics guide introduced
- validation specification defined (foundation for next phase)
Detailed specifications are located in /spec:
- eform-spec.md — core format
- layout-spec.md — SVG rules
- schema-spec.md — schema
- formula-spec.md — formulas
- validation-spec.md — validation model
Additional docs:
- docs/designer-guide.md
- docs/viewer-guide.md
- docs/import-processing.md
- docs/mapping-and-semantics.md
- docs/format-derivations.md
- viewer/ → interactive reference viewer
- tools/importer.html → data extraction and processing
spec/ specifications
examples/ sample forms
viewer/ reference viewer
tools/ utilities
docs/ documentation
Licensed under MPL 2.0
- core modifications must remain open
- allows integration into proprietary systems
Experimental — under active development (v0.8)
Current focus:
- validation layer
- importer hardening
- security assessment
- deterministic behavior
eForm combines:
- PDF-like visual stability
- web-style openness
- structured data
→ A durable, open format for digital forms across systems.