diff --git a/test/py/tests/test_xxd.py b/test/py/tests/test_xxd.py
new file mode 100644
index 0000000..c457c54
--- /dev/null
+++ b/test/py/tests/test_xxd.py
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier:      GPL-2.0+
+
+""" Unit test for xxd command
+"""
+
+import pytest
+from subprocess import call, check_call, CalledProcessError
+from tests import fs_helper
+
+@pytest.mark.boardspec('sandbox')
+@pytest.mark.buildconfigspec('cmd_xxd')
+def test_xxd(ubman):
+    """ Unit test for xxd
+
+    Args:
+        ubman -- U-Boot console
+    """
+    try:
+        scratch_dir = ubman.config.persistent_data_dir + '/scratch'
+
+        check_call('mkdir -p %s' % scratch_dir, shell=True)
+
+        with open(scratch_dir + '/hello', 'w', encoding = 'ascii') as file:
+            file.write('hello world\n\x00\x01\x02\x03\x04\x05')
+
+        xxd_data = fs_helper.mk_fs(ubman.config, 'vfat', 0x100000,
+                                   'test_xxd', scratch_dir)
+        response = ubman.run_command_list([ f'host bind 0 {xxd_data}',
+                                                    'xxd host 0 hello'])
+
+        assert '00000000: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a 00 01 02 03  hello world.....\r\r\n' + \
+               '00000010: 04 05                                            ..' \
+               in response
+    except CalledProcessError as err:
+        pytest.skip('Preparing test_xxd image failed')
+        call('rm -f %s' % xxd_data, shell=True)
+        return
+    finally:
+        call('rm -rf %s' % scratch_dir, shell=True)
+        call('rm -f %s' % xxd_data, shell=True)
