> ## Content Index
> Fetch the complete content index at: https://linuxhandbook.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Using XXD Command in Linux
- URL: https://linuxhandbook.com/xxd-command/
- Published: 2023-03-17T07:19:03.000Z
- Updated: 2024-06-03T16:23:37.000Z
- Description: Discover how to use the XXD command in Linux with practical examples. This comprehensive guide will help you understand the features and functionality of XXD.
- Author: Sagar Sharma
- Tags: Commands

Want a Hexadecimal dump (a hexadecimal view) of your data? The xxd command can do that for you.

Like any other normal command, it takes data from the standard input or file and gives hexadecimal output. It can also do the opposite and convert hex to normal characters.

And in this tutorial, I will walk you through different examples of how to use the xxd command in Linux.

## Install XXD on your Linux system

The xxd utility is not pre-installed in most Linux distributions but can easily be installed with the default package manager.

For Ubuntu/Debian base:

```
sudo apt install xxd
```

For Fedora/RHEL base:

```
sudo dnf install vim-common
```

For Arch-based distros:

```
sudo pacman -S xxd
```

## How to use the XXD command in Linux

Once you are done with the installation, you have to follow the given command syntax to use the xxd command:

```
xxd [options] [file]
```

To make things easy to understand, I will be using the file named `Sample.txt` throughout the tutorial, which contains the following:

```
Which Linux distro is your daily driver?
1. Ubuntu
2. Debian
3. RHEL
4. Fedora
5. Arch
6. Gentoo
7. LFS (The GOAT)
```

To create a hex dump of the `Sample.txt` file, I will be using the following command:

```
xxd Sample.txt
```

![create hash dump from file in Linux using the xdd command](https://linuxhandbook.com/content/images/2023/03/create-hash-dump-from-file-in-Linux-using-the-xdd-command.png)

Sure, you can use different options to tweak the default behavior of the xxd command. Let me show you how.

### Trim lines in xxd output

The xxd command allows you to trim down lines from your output.

To do so, you will have to use the `-s` flag and append how many initial lines you want to skip:

```
xxd -s [lines_to_skip] Filename
```

So let's say you want to start the hex dumping from the 5th line, which means you need to trim down the first 4 lines:

```
xxd -s 0x40 Sample.txt
```

![trim hex dump using the xxd command in linux](https://linuxhandbook.com/content/images/2023/03/trim-hex-dump-using-the-xxd-command-in-linux.png)

And as you can see, **it trimmed the first 4 lines** and gave me the hex dump starting from the 5th line.

**But if you want to get the hex dump of the last few lines**, you can do that too!

To get the hex dump of the last n number of the lines, you will have to execute the xxd command in the following manner:

```
xxd -s -[Last_n_lines] Filename
```

So let's say I want to get the hex dump of the last 3 lines, then, I will be using the following:

```
xxd -s -0x30 Sample.txt
```

![get hex dump of the last n lines using the xxd command in linux](https://linuxhandbook.com/content/images/2023/03/get-hex-dump-of-the-last-n-lines-using-the-xxd-command-in-linux.png)

### Specify the column length

You may want to specify how many columns should be shown instead of what xxd gets you by default (10).

To do so, you will need to use the `-c` flag and append how many columns should be displayed on the output:

```
xxd -c [No_of_columns] Filename
```

Let's say I want the output in 4 columns, then I will be using the following:

```
xxd -c 4 Sample.txt
```

![specify the number of colums in output in xxd command](https://linuxhandbook.com/content/images/2023/03/specify-the-number-of-colums-in-output-in-xxd-command.png)

### Specify the output length 

It is similar to what I explained in how you can trim the output but here, you can specify how many lines of the output you want from the first line.

To specify the output length, all you have to do is use the `-l` flag and specify how many lines of output you want:

```
xxd -l [Output_length_in_lines] Filename
```

So let's say I only want the first 5 lines of the hex dump, then I will be using the following:

```
xxd -l 0x50 Sample.txt
```

![specify the output length in xxd command in linux](https://linuxhandbook.com/content/images/2023/03/specify-the-output-length-in-xxd-command-in-linux.png)

### Get binary output instead of hexadecimal

The xxd command also allows you to get output in binary instead of hexadecimal!

It is quite simple and the binary output can be achieved using the `-b` flag:

```
xxd -b Filename
```

Here, I converted my text file `Sample.txt` to binary:

```
xxd -b Sample.txt
```

![convert from text to binary in linux](https://linuxhandbook.com/content/images/2023/03/convert-from-text-to-binary-in-linux.png)

### Get hex output in capital letters 

You may find situations where you want the output in capital letters. 

And you can easily get the hex output in capital letters using the `-u` flag as shown:

```
xxd -u Filename
```

![get hex output in upper case in linux](https://linuxhandbook.com/content/images/2023/03/get-hex-output-in-upper-case-in-linux.png)

### Convert hex to the normal text again 

So if you redirected the output of the hex to a file, there is a way to get back to normal quite easily.

For your reference, I'm redoing the whole process of [how you can redirect the output](https://linuxhandbook.com/redirection-linux/) of the hex dump to the text file first:

![save hext dump to the text file in linux](https://linuxhandbook.com/content/images/2023/03/save-hext-dump-to-the-text-file-in-linux.png)

So I saved the hex dump output to the `Hex.txt`.

Now, if I want to read the content of the `Hex.txt`, I will have to perform the conversion. Otherwise, it is just a pain in the head.

To reverse this effect, you will have to use the `-r` flag in shown manner:

```
xxd -r Filename
```

![convert the hex dump to the normal text](https://linuxhandbook.com/content/images/2023/03/convert-the-hex-dump-to-the-normal-text.png)

## Want to convert Hexadecimal to ASCII? Here you go! 

If you want to convert hex string to ASCII, we have a detailed guide for that purpose:

[Convert Hex to ASCII Characters in Linux Bash ShellHere are various ways for converting Hex to ASCII characters in the Linux command line and bash scripts.![](https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png)Linux HandbookTeam LHB![](https://linuxhandbook.com/content/images/2022/07/convert-hex-to-ascii-in-linux-terminal.png)](https://linuxhandbook.com/convert-hex-ascii/)

I hope you will find this guide helpful.

And if you have any queries, let me know in the comments.