Novel ILNovel IL
Home
The NIL file format
  • English
  • 日本語
Home
The NIL file format
  • English
  • 日本語
  • The NIL file format

The NIL file format

The official Novel IL format is defined with this JSON schema, which is used by Novel IL tools to validate codes.

This page contains a human-readable description of the Novel IL format.

Top-level structure

At the highest level, a Novel IL is a dictionary with a few keys:

  • metadata (dict)
  • cells (list)
{
  "metadata": {
    "title": "Alice's Wonder Forest",
    "authors": [
      "Alice Project"
    ],
    "languageInfo": [
      "English"
    ],
    "version": "1.0.0"
  },
  "cells": [
    {
      "name": "Alice", // name or character
      "images": {
        "foreground": ["alice-normal.png"],
        "background": ["green-park.png"]
      },
      "text": "Hi, there." // text or message
    },
    {
      "name": "Rabbit", 
      "images": {
        "foreground": ["rabbit-normal.png"],
        "background": ["green-park.png"]
      },
      "text": "Hi, Alice!"
    }
  ]
}

Cell

There are a few basic cell types for encapsulating code and text. All cells have the following basic structure:

{
  "name": "character name",
  "text": "character message", // text or message
  "images": {
    "foreground": ["foreground-image.png"], // e.g. character image
    "background": ["background-image.png"]
  }
}

Cell fields officially defined for Novel IL are listed here:

KeyValueInterpretation
namestrThe character name
textstrThe message box text
imagesforeground and background lists of stringsDisplay images
audioforeground and background lists of stringsMusic, sound effects, etc.
moviesforeground and background lists of stringsPlay movies

Metadata

Metadata is a place that you can put arbitrary JSONable information about your NIL, cell, or output.

Metadata fields officially defined for Novel IL are listed here:

KeyValueInterpretation
titlestrA game title
authorslist of stringsA list of authors of the novel game
descriptionstrA description of the game
versionstrThe version of the novel game file
licensestrThe license of the game
languageInfolist of stringsThe languages the game supports
Last Updated: 1/24/26, 1:29 PM
Contributors: Lemon73-Computing