Skip to content

Schema-first data serialization format for efficient transport of large structured datasets.

License

Notifications You must be signed in to change notification settings

RayeenLabs/NONF

Repository files navigation

NONF Logo

NONF — New Object Notation Format

Schema-first data serialization for high-performance structured data transport.


What is NONF?

NONF (New Object Notation Format) is a schema-first, human-readable data serialization format designed to efficiently transmit large structured datasets.

It eliminates repeated field names, enforces type safety, and enables deterministic parsing while remaining readable and tooling-friendly.


Why NONF Exists

NONF is not intended to replace JSON for small payloads. It is designed for large, schema-stable datasets where redundancy becomes costly.

Modern APIs waste bandwidth by repeating field names thousands of times.

NONF defines structure once and transmits only values.

Benefits:

✔ eliminates redundant payload size
✔ deterministic parsing
✔ built-in type safety
✔ optimized for large datasets
✔ streaming-friendly processing
✔ performance scales efficiently as record counts grow


When to Use NONF

Use NONF when:

• transmitting large datasets (hundreds to millions of records) • bandwidth efficiency matters
• schema is stable and known
• performance & parsing speed matter

Use JSON when:

• schema is dynamic
• payloads are small
• interoperability is the primary concern

When NOT to Use NONF

NONF may not be beneficial when:

• datasets are small • schema structure changes frequently • human self-describing payloads are required • interoperability with existing JSON-only systems is critical


Quick Example

NONF separates structure from data, allowing schema reuse and predictable parsing.

JSON

{
  "vehicles": [
    {
      "vehicleNumber": "KA05AJ1732",
      "modelName": "ACTIVA"
    }
  ]
}

NONF

Vehicle = vehicleNumber: str, modelName: str

$$root = vehicles: $Vehicle[]

vehicles:
    "KA05AJ1732", "ACTIVA"
;

Result: no repeated keys, deterministic structure.


Key Features

• Schema-first design
• Positional data encoding
• Explicit typing
• Self-documenting nulls
• Deterministic grammar
• Streaming-friendly parsing
• Version directives
• Canonical serialization for deterministic output


Performance Snapshot

Production dataset: 8,154 vehicles (~30,000 nested documents)

JSON payload: 12.5 MB
NONF payload: 2.8 MB

78% reduction

Actual performance improvements vary based on transport latency, database design, and application architecture.


Specification

NONF v1.0 specification is stable.

📘 Read the specification:
👉 docs/spec/NONF-v1.0.md


Reference Implementations (Planned)

NONF.Net — .NET reference implementation
NONF.CLI — command-line tooling


Tooling & Ecosystem (Planned)

• syntax highlighting
• VS Code extension
• JSON ⇄ NONF converters
• validation tools & playground


Project Status

Status: Stable Specification (v1.0)

The format is stable.
Reference implementations are in development.


Contributing

Contributions, feedback, and tooling ideas are welcome.

Please open an issue or discussion to get started.


Ethical Use & Intent

This project is created to support learning, collaboration, and constructive technological progress.

It is intended to:

• empower developers and students • promote knowledge sharing and accessibility • enable efficient and responsible software systems • serve as long-term, stable infrastructure

This software must not be used to:

• harm individuals or communities • violate human rights or dignity • enable surveillance abuse, exploitation, or oppression • support criminal activity or deliberate wrongdoing

Any use for harmful purposes is against the intent of the authors.

The responsibility for how this software is used lies solely with the user.

For a detailed statement of intent and ethical boundaries, see ETHICS.md.


License

This project is licensed under the GNU General Public License v3.0 (GPLv3).

You are free to use, modify, and distribute this software under the terms of the GPL.

Commercial use is permitted provided derivative works remain open source under GPLv3.

See the LICENSE file for full details.

Copyright © 2026 Mohammad Shoeb Akhtar Maintained by RayeenLabs


Organization

Maintained by RayeenLabs.