Drop or import a .dtb or self-contained .dts or paste
one into the source editor. All parsing happens in your browser.
Navigate the map
Browse tree shows one bus and up to eight direct children at a time
(four on phones). Use Explore children on a bus, Focus selected,
Parent, Root and the page arrows to navigate. Search finds nodes
across the document. Use Tree and Inspect to open or hide the side
panels. On phones, panels slide over the map. Drag with one finger to
pan and pinch with two fingers to zoom. The +, − and Fit controls
remain available.
Source includes syntax highlighting. Changes apply only when you
choose Visualize tree. Tab inserts indentation; Shift+Tab moves
keyboard focus out of the editor.
Have a compiled DTB?
Import .dtb directly: decoding runs locally. The Source editor and
export show reconstructed DTS with inferred value types. Original
labels, includes and override history are not available. FDT version
17 compatible blobs are supported; standalone overlays are not
applied.
Have a Linux DTS with includes or macros?
Compile it using your normal kernel or BSP build first, then import
the resulting DTB directly. DTSee doesn’t run a C preprocessor or
resolve files from your machine.
Hardware context and quick actions
The inspector decodes raw reg tuples from the immediate parent’s cell
counts. Missing counts use specification defaults (2 address cells, 1
size cell), never ancestor values. Addresses remain bus-relative;
CPU-address translation is not performed. I²C/SPI labels are
parent-name hints. Declared status and effective structural
availability are separate; neither predicts probe success.
Breadcrumbs and reference links reveal a node’s parent branch in
Browse tree. Graph clicks preserve the current branch. Copy
path/properties or export a Markdown node report from the inspector;
if clipboard access is denied, copy from the fallback dialog.
What works in this prototype
Node hierarchy, properties, labels, symbolic references, in-file node
overrides, native DTB import and common numeric phandle arrays files.
Connections are inferred from references; they aren’t a complete
wiring diagram.
Know the limits
No binding validation, address translation, macro expansion, external
includes, plugin overlays, or deletion directives. Node status is the
node’s own status, not a guarantee that Linux will probe it. Numeric
references are decoded only for recognized property formats.
The included ARM example is illustrative and simplified, not a
production board description. Imported trees are held in memory and
disappear on refresh; export your edits to keep them.