diff --git a/encodings/experimental/onpair/src/compute/byte_length.rs b/encodings/experimental/onpair/src/compute/byte_length.rs
new file mode 100644
index 00000000000..5809cd20fd9
--- /dev/null
+++ b/encodings/experimental/onpair/src/compute/byte_length.rs
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: Apache-2.0
+// SPDX-FileCopyrightText: Copyright the Vortex contributors
+
+use vortex_array::IntoArray;
+use vortex_array::ValidityVTable;
+use vortex_array::arrays::ConstantArray;
+use vortex_array::builtins::ArrayBuiltins;
+use vortex_array::dtype::DType;
+use vortex_array::dtype::PType;
+use vortex_array::scalar::Scalar;
+use vortex_array::scalar_fn::fns::byte_length::ByteLengthKernel;
+use vortex_array::validity::Validity;
+
+use crate::OnPair;
+use crate::OnPairArraySlotsExt;
+
+impl ByteLengthKernel for OnPair {
+ fn byte_length(
+ array: vortex_array::ArrayView<'_, Self>,
+ _ctx: &mut vortex_array::ExecutionCtx,
+ ) -> vortex_error::VortexResult