Skip to content
🍸 Encodes and decodes NEON file format.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

NEON: Nette Object Notation

Downloads this Month Build Status Coverage Status Latest Stable Version License


NEON is a human-readable data serialization language. It is commonly used for configuration files, but could be used in many applications where data is being stored

NEON is very similar to YAML.The main difference is that the NEON supports "entities" (so can be used e.g. to parse phpDoc annotations) and tab characters for indentation. NEON syntax is a little simpler and the parsing is faster.

Documentation can be found on the website.

If you like Nette, please make a donation now. Thank you!

NEON language

Try NEON in sandbox!

Example of NEON code:

# my web application config

	date.timezone: Europe/Prague
	zlib.output_compression: yes  # use gzip

	driver: mysql
	username: root
	password: beruska92

	- Dave
	- Kryten
	- Rimmer


The recommended way to install is via Composer:

composer require nette/neon

It requires PHP version 7.1 and supports PHP up to 7.3.


Nette\Neon\Neon is a static class for encoding and decoding NEON files.

Neon::encode() returns $value encoded into NEON. Flags accepts Neon::BLOCK which formats NEON in multiline format.

use Nette\Neon\Neon;
$neon = Neon::encode($value); // Returns $value encoded in NEON
$neon = Neon::encode($value, Neon::BLOCK); // Returns formatted $value encoded in NEON

Neon::decode() converts given NEON to PHP value:

$value = Neon::decode('hello: world'); // Returns an array ['hello' => 'world']

Both methods throw Nette\Neon\Exception on error.

Editors plugins

Other languages

You can’t perform that action at this time.