---
name: "rax2"
section: "1"
platform: "linux"
package: "radare2"
version: "6.2.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/rax2"
---

# rax2(1)

Radare2 Base Converter

## NAME

**rax2** – Radare2 Base Converter

## SYNOPSIS

**rax2** \[**-abcCdDeEfFhHijkKnoqrsStuUvwxXzZ**\] \[\[expr\] ...\]

## DESCRIPTION

A versatile calculator for numerical base conversions, string encoding/decoding, and data representation within Radare2, supporting C-string encoding, hexpairs, Base64, and other formats.

The most common numerical bases include binary (base 2) for direct machine code interaction, hexadecimal (base 16) for memory addresses and compact data representation, and decimal (base 10) for human-readable calculations and interpretations.

## OPTIONS

- **-a**

  Show ASCII table

- **-b** *base*

  Force output mode (numeric base)

    f    floating point\
     2    binary\
     3    ternary\
     8    octal\
     10   decimal\
     16   hexadecimal

  When used with **-s** and **-e**, select the word size in bits for endian-swapping hex input. Valid word sizes are 8, 16, 32, and 64 bits.

- **-c**

  Show hexadecimal C string from integer value

- **-C**

  Dump stdin to C array in stdout (xxd replacement)

- **-d**

  Print the result in decimal (base 10)

- **-D**

  Decode the input data using base64

- **-e**

  Swap endianness. With **-s**, requires **-b** to specify the word size.

- **-E**

  Encode the input data using base64

- **-f**

  Interpret the input number as a 32bit dword and display it using IEEE 754 standard for floating point arithmetic

- **-F**

  Read C strings from stdin and output in hexpairs. Useful to load shellcodes

- **-h**

  Show usage help message

- **-H**

  Convert a string into a hash

- **-i**

  Convert LONG to/from IP ADDRESS

- **-j**

  Show the output in json format, the same as the r2 \`?j 0x804\` command

- **-k**

  Keep the same base as the input data

- **-K**

  Show randomart key asciiart for values or hexpairs

- **-n**

  Append newline to the decoded output for human friendliness

- **-o**

  Convert from octal string to char (rax2 -o 162 62)

- **-q**

  Be quiet. Show less information or drop the superfluous details in the output

- **-r**

  Show the same output as the r2's \`? 0x804\` command. When combined with -S (-rS) it will print r2 commands to write the actual binary into radare2

- **-s**

  Convert from hex pairs string to character (rax2 -s 43 4a 50)

- **-S**

  Convert from character to hex string (rax2 -S C J P)

- **-t**

  Convert epoch timestamp to human readable date format

- **-u**

  Convert given value to human readable units format

- **-v**

  Show version information

- **-w**

  Display the result as 16bit signed integer value

- **-x**

  Show hexpairs from integer value

- **-X**

  Convert a bit stream (an arbitrary sequence of 0 and 1 of any length) to hexadecimal. The result can be larger than 64bits

- **-z**

  Convert from character string to binary (rax2 -z hello)

- **-Z**

  Convert from binary string to string (rax2 -Z 01000101)

## USAGE

Available variable types are:

  int       -\>  hex           rax2 10\
   hex       -\>  int           rax2 0xa\
   \-int      -\>  hex           rax2 -77\
   \-hex      -\>  int           rax2 0xffffffb3\
   int       -\>  bin           rax2 b30\
   int       -\>  ternary       rax2 t42\
   bin       -\>  int           rax2 1010d\
   ternary   -\>  int           rax2 1010dt\
   float     -\>  hex           rax2 3.33f\
   hex       -\>  float         rax2 Fx40551ed8\
   oct       -\>  hex           rax2 35o\
   hex       -\>  oct           rax2 Ox12 (O is a letter)\
   bin       -\>  hex           rax2 1100011b\
   hex       -\>  bin           rax2 Bx63\
   ternary   -\>  hex           rax2 212t\
   hex       -\>  ternary       rax2 Tx23\
   raw       -\>  hex           rax2 -S \< /binfile\
   hex       -\>  raw           rax2 -s 414141

## EXAMPLES

With no arguments, rax2 reads values from stdin. You can pass one or more values as arguments.

  $ rax2 33 0x41 0101b\
   0x21\
   65\
   0x5

You can do 'unpack' hexpair encoded strings easily.

  $ rax2 -s 41 42 43\
   ABC

Swap the byte order of each 32-bit word in a hex stream:

  $ printf 1122334455667788 \| rax2 -esb 32 \| rax2 -S\
   4433221188776655

It supports some math operations:

  $ rax2 1+1 "0x5\*101b+5"\
   2\
   30

Encode and decode binary file using base64:

  $ rax2 -E \< /bin/ls \> ls.b64\
   $ rax2 -D \< ls.b64 \> ls

  $ cmp /bin/ls ls && echo $?\
   0

Use -z/-Z to convert between binary and string:

  $ rax2 -z hello\
   01101000011001010110110001101100011011110000000000000000\
   $ rax2 -Z 01101000011001010110110001101100011011110000000000000000\
   hello

Hash strings:

  $ rax2 -H linux osx\
   linux: 0x5ccc1772\
   osx: 0x099bf94f

Work with IP addresses:

  $ rax2 -i 127.0.0.1\
   0x0100007f\
   $ rax2 -i 0x0100007f\
   127\.0.0.1

It is a very useful tool for scripting, so you can read floating point values, or get the integer offset of a jump or a stack delta when analyzing programs.

## ENVIRONMENT

rax2 does not use any environment variables.

## SEE ALSO

[radare2(1)](/radare2/1.md)

## WWW

https://www.radare.org

## AUTHORS

pancake \<pancake@nopcode.org\>
