Atomic Data is a modular specification for sharing, modifying and modeling graph data. It combines the ease of use of JSON, the connectivity of RDF (linked data) and the reliability of type-safety.
Atomic Data uses links to connect pieces of data, and therefore makes it easier to connect datasets to each other - even when these datasets exist on separate machines.
Atomic Data has been designed with the following goals in mind:
- Give people more control over their data
- Make linked data easier to use
- Make it easier for developers to build highly interoperable apps
- Make standardization easier and cheaper
Atomic Data is Linked Data, as it is a strict subset of RDF.
It is type-safe (you know if something is a string, number, date, URL, etc.) and extensible through Atomic Schema, which means that you can re-use or define your own Classes, Properties and Datatypes.
The default serialization format for Atomic Data is JSON-AD, which is simply JSON where each key is a URL of an Atomic Property.
These Properties are responsible for setting the datatype (to ensure type-safety) and setting shortnames (which help to keep names short, for example in JSON serialization) and descriptions (which provide semantic explanations of what a property should be used for).
Atomic Data has specifications for authentication, authorization, querying / filtering / pagination, event sourcing and versioning, file management, websockets, API endpoints and more.
Read more on docs.atomicdata.dev.
- AtomicServer: powerful database + all-in-one workspace (powers atomicdata.dev, run with
docker run -p 80:80 -p 443:443 -v atomic-storage:/atomic-storage joepmeneer/atomic-server) - Browser GUI app atomic-data-browser (bundled with atomic-server) features group chat, tables, documents and more. (demo on atomicdata.dev)
- Typescript library: @tomic/lib
- React library: @tomic/react. Start with the react template on codesandbox
- Svelte library: @tomic/svelte + Sveltekit-Demo repo
- Command line tool: atomic-cli (
cargo install atomic-cli) - Rust library: atomic-lib
- RayCast plugin: atomic-raycast (quickly search in your atomic-server)
- Atomic-Argu: Atomic-Server as Headless CMS + SvelteKit (based on
atomic-sveltekit-demo) - Atomic Data Model Builder built with @tomic/svelte
Make sure to join our Discord if you'd like to discuss Atomic Data with others.
Still being actively developed in 2026. Keep in mind that none of the Atomic Data project has reached a v1, which means that breaking changes can happen.
Check out the status + roadmap in the docs. Maintained and developed by Ontola.io