nanondef is a lightweight, allocation-optional library for working with
NFC Forum NDEF messages,
Capability Containers (CC),
TLV blocks,
and various record payloads.
It is designed for:
- Embedded systems
- Firmware and NFC-tag readers/writers
- High-level Rust applications requiring a safe, efficient NDEF stack
- Environments requiring deterministic memory usage (e.g., heapless)
The library never allocates unless the "std" or "alloc" feature is enabled.
- Zero-copy decoding from
&[u8] - Optional allocation or heapless
- Stable, minimal API surface
- Capability Container (CC) parsing
- Typed payload decoding (URI, raw bytes, and user-defined payloads)
- NDEF record validation
- TLV block decoding
- Full serde support for all public types
- WASM support
- Companion C FFI bindings via the
nanondef-syscrate