diff --git a/explorer/src/components/common/HexData.tsx b/explorer/src/components/common/HexData.tsx
new file mode 100644
index 00000000000000..c0859b5a07eadd
--- /dev/null
+++ b/explorer/src/components/common/HexData.tsx
@@ -0,0 +1,44 @@
+import React, { ReactNode } from "react";
+import { Buffer } from "buffer";
+import { Copyable } from "./Copyable";
+
+export function HexData({ raw }: { raw: Buffer }) {
+ if (!raw) {
+ return No data;
+ }
+
+ const chunks = [];
+ const hexString = raw.toString("hex");
+ for (let i = 0; i < hexString.length; i += 2) {
+ chunks.push(hexString.slice(i, i + 2));
+ }
+
+ const spans: ReactNode[] = [];
+ for (let i = 0; i < chunks.length; i += 4) {
+ const color = i % 8 === 0 ? "text-white" : "text-gray-500";
+ spans.push(
+
+ {chunks.slice(i, i + 4).join(" ")}
+
+ );
+ }
+
+ function Content() {
+ return (
+ {spans}
+
{data}+
- {data} -+