---
name: "convertgls2bib"
section: "1"
platform: "linux"
package: "texlive-doc"
version: "2026.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/convertgls2bib"
---

# convertgls2bib(1)

## SYNOPSIS

**convertgls2bib** \[*option*\]+ *texfile* *bibfile*

## DESCRIPTION

Converts a **.tex** file containing glossary definitions using commands like `"\newglossaryentry"` and `"\newacronym"` to  a **.bib** file in the format required for **bib2gls**. Distributed with *bib2gls*.

## OPTIONS

### GENERAL OPTIONS

- **--help** or **-h**

  Display help message and exit.

- **--version** or **-v**

  Display version information and exit.

- **--silent** or **--quiet** or **-q**

  Suppress all messages except for errors.

- **--verbose**

  Switch on verbose mode.

- **--no-verbose**

  Switch off verbose mode.

- **--debug** \[*n*\]

  Display debugging messages.

- **--debug-mode** *setting*

  May be used instead of **--debug** where the level number is difficult to remember. Value same as for **bib2gls**'s **--debug-mode** option.

- **--no-debug**

  Switch off debugging mode. Equivalent to **--debug** **0**.

- **--log-file** *filename*

  Log messages to given file. Intended primarily for debugging messages so enabling debug mode will automatically create a transcript file, but otherwise a file won't be created unless this option is used.

### ENCOSING AND LOCALISATION OPTIONS

- **--texenc** *name*

  Set the character encoding to *name* for the input **.tex** files.

- **--bibenc** *name*

  Set the character encoding to *name* for the output **.bib** files.

- **--locale** *lang tag*

  Use the language resource files associated with the given language tag *lang tag*. If there isn't an appropriate file, the **en** (English) file will be used.

### FILTERING OPTIONS

- **--preamble-only** or **-p**

  Only parse the document preamble. That is, stop parsing if `"\begin{document}"` encountered.

- **--no-preamble-only**

  Parse the entire document (default).

- **--ignore-fields** *list* or **-f** *list*

  Ignore all the fields in the comma-separated *list*. If the list includes **sort**, **type** or **category** it will automatically implement the corresponding **--ignore-sort**, **--ignore-type** or **--ignore-category** option. Each item in the list should identify the field by its original case-sensitive key.

  This option is cumulative.

- **--no-ignore-fields**

  Cancels the effect of **--ignore-fields**.

- **--ignore-category**

  Omit the **category** field. Default if **--split-on-category**.

- **--no-ignore-category**

  Don't omit the **category** field. Default unless **--split-on-category**.

- **--ignore-type**

  Omit the **type** field. Default if **--split-on-type**.

- **--no-ignore-type**

  Don't omit the **type** field. Default unless **--split-on-type**.

- **--ignore-sort**

  Ignore the **sort** field (default).

- **--no-ignore-sort**

  Don't ignore the **sort** field.

### OUTPUT FILE OPTIONS

- **--overwrite**

  Overwrite existing .bib files. Default unless **--split-on-type** used.

- **--no-overwrite**

  Don't overwrite existing .bib files. Default if **--split-on-type** used.

- **--split-on-type** or **-t**

  Split the entries into separate files according to the **type** field. This option automatically implements **--ignore-type** and **--no-overwrite**.

- **--no-split-on-type**

  Don't split the entries into separate files according to the **type** field (default).

- **--split-on-category** or **-c**

  Split the entries into separate files according to the **category** field. This option automatically implements **--ignore-category** and **--no-overwrite**.

- **--no-split-on-category**

  Don't split the entries into separate files according to the **category** field (default).

### ADJUSTMENT OPTIONS

- **--absorb-see**

  Absorb `"\glssee"` and `"\glsxtrindexseealso"` into the data (default).

- **--no-absorb-see**

  Don't absorb `"\glssee"` and `"\glsxtrindexseealso"` into the data.

- **--index-conversion** or **-i**

  Any entries that would normally be converted to `@entry` that don't have a description or just have the description set to `"\nopostdesc"` or `"\glsxtrnopostpunc"` will be converted to `@index` and the **description** field will be omitted.

- **--no-index-conversion**

  Don't use `@index` instead of `@entry` if the description is empty or just `"\nopostdesc"` or `"\glsxtrnopostpunc"` (default).

- **--space-sub** *value* or **-s** *value*

  Substitute spaces in labels with *value*.

- **--field-map** *mappings* or **-m** *mappings*

  Add source key to destination field label mapping. The argument should be a comma-separated list of *src-field*=*dest-field* pairs. This option is cumulative.

  The deprecated **--key-map** is a synonym of **--field-map**.

- **--no-field-map**

  Cancels all mappings applied with **--field-map**. The deprecated **--no-key-map** is a synonym of **--field-map**.

- **--internal-field-map** *mappings*

  Adds the given mappings to the default set of internal field to key mappings. (For example, **desc** is the internal field label of the **description** key.) This option is cumulative.

  This option is only needed if the internal field label is supplied in the argument of command such as `"\glssetnoexpandfield"`.

## REQUIRES

Java 8 and a TeX distribution.

## LICENSE

License GPLv3+: GNU GPL version 3 or later \<http://gnu.org/licenses/gpl.html\> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

## RECOMMENDED READING

The bib2gls manual:

```
        texdoc bib2gls
```

The glossaries-extra manual:

```
        texdoc glossaries-extra
```

The glossaries manual:

```
        texdoc glossaries
```

## AUTHOR

Nicola L. C. Talbot, \<https://www.dickimaw-books.com/\>
