Drop or import a .dtb or self-contained .dts or paste
one into the source editor. All parsing happens in your browser.
Explore a branch
Browse tree focuses on one bus at a time. Use Explore children or
Focus selected to enter a branch, and Parent or Root to move back.
Search covers the whole tree.
Source edits apply when you choose Visualize tree.
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.