# obsidianmd/jsoncanvas

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/obsidianmd-jsoncanvas).**

3,257 stars · 137 forks · JavaScript · mit

## Links

- GitHub: https://github.com/obsidianmd/jsoncanvas
- Homepage: https://jsoncanvas.org
- awesome-repositories: https://awesome-repositories.com/repository/obsidianmd-jsoncanvas.md

## Description

JSON Canvas is an interoperable whiteboard specification and data exchange format. It provides a standardized JSON schema for representing nodes, edges, and spatial layout information, allowing different infinite canvas and digital whiteboard applications to read and write the same files.

The project focuses on digital whiteboard interoperability and spatial data standardization to prevent vendor lock-in. By using a coordinate-based layout mapping and a machine-readable format, it enables cross-platform visual mapping and the migration of spatial data between different software environments while maintaining layout integrity.

The specification covers a broad capability surface including data integration, the conversion of canvas formats, and the standardized storage of spatial canvas data.

## Tags

### Data & Databases

- [JSON-Schema](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/json-schema.md) — Defines a standardized JSON schema for nodes and edges to ensure interoperability across different spatial whiteboard applications.
- [Spatial Layout Standardization](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-standardization/spatial-layout-standardization.md) — Standardizes infinite canvas information in a readable format for consistent representation across various graph and layout tools.
- [Spatial Canvas Data Storage](https://awesome-repositories.com/f/data-databases/spatial-canvas-data-storage.md) — Provides a machine-readable format for saving and exchanging infinite canvas spatial data across different applications. ([source](https://jsoncanvas.org/docs/apps))
- [Data Format Converters](https://awesome-repositories.com/f/data-databases/data-format-converters.md) — Enables the conversion of spatial data between the JSON Canvas standard and other whiteboard-specific formats. ([source](https://jsoncanvas.org/docs/apps))
- [Data Migration](https://awesome-repositories.com/f/data-databases/data-integration-synchronization/data-migration.md) — Facilitates the migration of spatial data between different whiteboard tools while maintaining layout integrity.

### Graphics & Multimedia

- [Interoperability Standards](https://awesome-repositories.com/f/graphics-multimedia/whiteboarding/interoperability-standards.md) — Ensures the ability to exchange spatial data and layouts between different whiteboard applications to prevent vendor lock-in.

### Repository Format

- [JSON Canvas Data Formats](https://awesome-repositories.com/f/repository-format/json-canvas-data-formats.md) — Defines a standardized JSON format for exchanging spatial data and layout information between different digital whiteboard applications.
- [Spatial Data Exchange Formats](https://awesome-repositories.com/f/repository-format/spatial-data-exchange-formats.md) — Provides a machine-readable schema for representing visual layouts and coordinate-based connections for cross-platform compatibility.

### Software Engineering & Architecture

- [Agnostic Data Interchange Formats](https://awesome-repositories.com/f/software-engineering-architecture/agnostic-data-interchange-formats.md) — Provides a data format that decouples the visual layout of a whiteboard from the specific software used to render it.
- [Interoperability Specifications](https://awesome-repositories.com/f/software-engineering-architecture/interoperability-specifications.md) — Establishes a technical specification for storing nodes and edges to ensure different graphing tools can read and write the same files.

### User Interface & Experience

- [Interoperable Layout Standards](https://awesome-repositories.com/f/user-interface-experience/canvas-layout-engines/interoperable-layout-standards.md) — Standardizes the saving of spatial and layout information to ensure interoperability between different digital whiteboard applications. ([source](https://cdn.jsdelivr.net/gh/obsidianmd/jsoncanvas@main/README.md))
- [Coordinate-Based Positioning](https://awesome-repositories.com/f/user-interface-experience/coordinate-based-positioning.md) — Implements a system for placing whiteboard elements using absolute X and Y grid coordinates to ensure consistent spatial positioning.
- [Cross-Platform Visual Mapping](https://awesome-repositories.com/f/user-interface-experience/cross-platform-visual-mapping.md) — Enables the sharing of visual maps and spatial nodes across different software environments via a common data standard.

### Web Development

- [Canvas State Representations](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/rendering-and-layout-architectures/component-based-page-layouts/json-schema-representations/canvas-state-representations.md) — Stores the entire canvas hierarchy and relationship graph as a single serializable JSON object.
