---
name: "xq"
section: "1"
platform: "linux"
package: "xq"
version: "1.3.0-1+b6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xq"
---

# xq(1)

command-line XML and HTML beautifier and content extractor

## NAME

xq - command-line XML and HTML beautifier and content extractor

## SYNOPSIS

xq \[*options...*\] \[*file*\]

## DESCRIPTION

Formats the provided *file* and outputs it in the colorful mode. The file can be provided as an argument or via stdin.

## OPTIONS

- **--version** \| **-v**

  Prints versions information and exits.

- **--help** \| **-h**

  Prints the synopsis and a list of options and exits.

- **--indent** *int*

  Uses the given number of spaces for indentation (default 2).

- **--color** \| **-c**

  Forces colorful output.

- **--no-color**

  Disables colorful output (only formatting).

- **--tab**

  Uses tabs instead of spaces for indentation.

- **--xpath** \| **-x** *string*

  Extracts the node(s) from XML using provided XPath query.

- **--extract** \| **-e** *string*

  Extracts a single node from XML using provided XPath query.

- **--query** \| **-q** *string*

  Extracts the node(s) using CSS selector.

- **--attr** \| **-a** *string*

  Extracts an attribute value instead of node content for provided CSS query.

- **--html** \| **-m**

  Uses HTML formatter instead of XML.

- **--node** \| **-n**

  Returns the node content instead of text.

## EXAMPLES

Format an XML file and highlight the syntax:

$ xq test/data/xml/unformatted.xml

Utility also accepts input through stdin:

$ curl -s https://www.w3schools.com/xml/note.xml \| xq

HTML content can be formatted and highlighted using -m flag:

$ xq -m test/data/html/formatted.html

Extract the text content of all nodes with city name:

$ cat test/data/xml/unformatted.xml \| xq -x //city

Extract the XML content of all nodes with city name:

$ cat test/data/xml/unformatted.xml \| xq -n -x //city

## SEE ALSO

**https://github.com/sibprogrammer/xq** - official website
