# Display qr code in terminal

> Generate QR codes in your terminal with Pinggy effortlessly. Press 'c' for ASCII or 'u' for Unicode. Use keywords during tunnel creation for persistent QR codes.
> Source: https://pinggy.io/docs/advanced/qr_code/


# QR-Code

You can get the QR code for your tunnel URL within the terminal by pressing **`c`** or **`u`**.

To hide the qr code again, just press **`Esc`**.

## ASCII

In normal mode just press `c` to display QR-Code.
It will display QR-Code for the tunnel url in ASCII format like this.

You can use the **arrow keys** to change the QR Code for different urls. Press `Esc` to return to normal page.

![Press c to display QR-Code in ASCII](../../../doc_img/qrcode/qr-ascii2.webp)


This QR Code is printed using ASCII characters. Thus, it is compatible with most of the terminals. However, it might not fit into small terminal windows. For a more compact QR Code, use the unicode version.

## Unicode

To get a compact QR Code, we have option for unicode QR. Press `u` to print QR-Code drawn using unicode.

![Press u to display QR-Code in unicode](../../../doc_img/qrcode/qr-unicode2.webp)


Unicode QR-Code can easily fit inside a 80x25 terminal. However, the terminal must have support for unicode character-set. Otherwise the result is unpredictable.

# Always show QR-Code

Pinggy also supports keywords `qr` and `aqr` while creating tunnel to print QR in the TUI like the following.

![Always display QR-Code in TUI](../../../doc_img/qrcode/qr-inline-unicode2.webp)


This keyword needs to be passed with the username as following:


```bash
# SSH - no install, works anywhere the ssh client is available
ssh -p 443 -R0:localhost:8000 qr@free.pinggy.io
```

```bash
# Pinggy CLI - install with: npm install -g pinggy (or download the binary)
./pinggy -p 443 -R0:localhost:8000 qr@free.pinggy.io
```


Here `qr` would produce QR code in unicode while `aqr` would produce QR code in ASCII.

