Learn OBSERVABLEHQ with Real Code Examples
Updated Nov 26, 2025
Installation Setup
No installation needed; runs in modern web browsers
Optional: sign up for an account to save and share notebooks
Supports importing data from URLs, CSVs, JSON, and APIs
Optional GitHub integration for version control
Works on desktop, tablet, or mobile browsers
Environment Setup
Open modern web browser
Sign up for an ObservableHQ account
Create new notebook or fork existing one
Start writing code and visualization cells
Save, share, and publish notebooks online
Config Files
Notebook metadata (title, description, author)
Embedded data via URL or inline
Optional JSON configuration for Plot or D3 settings
Assets like images or icons referenced via URLs
Version history and fork metadata
Cli Commands
No CLI required; entirely web-based
Optional npm or D3 setup for local experiments
Notebook operations via GUI (save, fork, publish)
Run/Refresh controls update cells
Export cell code for external use
Internationalization
Notebook UI in English primarily
Supports Unicode in code, comments, and Markdown
Community-contributed notebooks in multiple languages
Data labels and annotations can be localized
Browser-based, so follows system language settings
Accessibility
Accessible in modern browsers
Supports screen readers and keyboard navigation
Interactive elements compatible with accessibility standards
Markdown provides text descriptions for visuals
Works across desktop and tablet devices
Ui Styling
Split view with editor and live output
Interactive sliders, buttons, and input elements
Markdown for documentation and explanation
Custom CSS via HTML cells
Clean, responsive browser-based interface
State Management
Reactive cells maintain runtime state
Updates propagate automatically across dependent cells
Mutable variables can be used for interactive inputs
Notebook state preserved across sessions when logged in
Forking creates independent copies of notebooks
Data Management
Datasets imported via CSV, JSON, or APIs
Assets referenced via URLs
Progress saved automatically in cloud account
Data changes propagate reactively in visualizations
Dependencies managed via URL imports for JS libraries