The config object
Use this reference to look up exact keys and allowed values. To build a project, start with the step-by-step tutorial, visual field guide, or illustrated cookbook.
These tables are generated from the published JSON Schema. They describe the configuration structure; MLabel also checks relationships such as copied field types and shortcut conflicts when loading a file.
Top-level settings
Section titled “Top-level settings”| Key | Type | Required | Notes |
|---|---|---|---|
$schema |
string | no | Path or URL to this JSON Schema, for editor autocomplete. Use https://mlabel.vlad.gg/mlabel.schema.json for a standalone config. |
version |
2 |
yes | Config format version. This build reads version 2 only; a config with no version, or a different one, is rejected with a single clear message rather than a cascade of shape errors. |
ui |
object | no | Chrome-level presentation. |
network |
object | no | Network policy. Set updateChecks to false to forbid network requests. |
input |
object | yes | What is read from the source file and shown read-only. |
output |
object | yes | What the labeler captures, or the app fills in. |
Chrome-level presentation.
| Key | Type | Required | Notes |
|---|---|---|---|
appTitle |
string | object | no | The window title: a literal string, or { "field": "…" } to use the value of an input field, which changes per record. |
network
Section titled “network”Network policy. Set updateChecks to false to forbid network requests.
| Key | Type | Required | Notes |
|---|---|---|---|
updateChecks |
boolean | no | Whether to check GitHub Releases for updates. Absent or true means checks run; false forbids that traffic entirely. |
What is read from the source file and shown read-only.
| Key | Type | Required | Notes |
|---|---|---|---|
adapterId |
string | no | Which format adapter handles this side. csv is the only one built in; it also reads .tsv. min length 1 |
adapterConfig |
object | no | Opaque, adapter-owned options — for CSV, delimiter and quoteChar on input, delimiter and newline on output. The core never reads this, so it is the one object in the config where unknown keys are allowed. |
fields |
array of InputField | yes | The source columns to read and show read-only. at least 1 item |
rules |
array of DisplayRule | no | Purely visual rules over displayed input values. A rule can never change what is exported. |
cards |
array of Card | no | Layout. Omit for one implicit card holding every field, one per row. |
output
Section titled “output”What the labeler captures, or the app fills in.
| Key | Type | Required | Notes |
|---|---|---|---|
adapterId |
string | no | Which format adapter handles this side. csv is the only one built in; it also reads .tsv. min length 1 |
adapterConfig |
object | no | Opaque, adapter-owned options — for CSV, delimiter and quoteChar on input, delimiter and newline on output. The core never reads this, so it is the one object in the config where unknown keys are allowed. |
fields |
array of OutputField | yes | The columns written to the output file. at least 1 item |
cards |
array of Card | no | Layout. Omit for one implicit card holding every field, one per row. |