---
name: "makeinfo"
section: "1"
platform: "linux"
package: "texinfo"
version: "7.3-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "openbsd"]
url: "https://new.carta.tech/makeinfo"
---

# makeinfo(1)

translate Texinfo documents

## NAME

texi2any - translate Texinfo documents

## SYNOPSIS

**makeinfo** \[*OPTION*\]... *TEXINFO-FILE*...

## DESCRIPTION

Translate Texinfo source documentation to various other formats, by default Info files suitable for reading online with Emacs or standalone GNU Info.

This program is commonly installed as both \`makeinfo' and \`texi2any'; the behavior is identical, and does not depend on the installed name.

### General options:

- **--document-language**=*STR* locale to use in translating Texinfo keywords

  for the output document (default C)

- **--error-limit**=*NUM*

  quit after NUM errors (default 100)

- **--force**

  preserve output even if errors

- **--help**

  display this help and exit

- **--no-validate**

  suppress node cross-reference validation

- **--no-warn**

  suppress warnings (but not errors)

- **--conf-dir**=*DIR*

  search also for initialization files in DIR

- **--init-file**=*FILE*

  load FILE to modify the default behavior

- **-c**, **--set-customization-variable** VAR=VAL

  set customization variable VAR to value VAL

- **--trace-includes**

  print names of included files

- **-v**, **--verbose**

  explain what is being done

- **--version**

  display version information and exit

### Output format selection (default is to produce Info):

- **--docbook**

  output Docbook XML

- **--html**

  output HTML

- **--epub3**

  output EPUB 3

- **--latex**

  output LaTeX

- **--plaintext**

  output plain text rather than Info

- **--xml**

  output Texinfo XML

- **--dvi**, **--dvipdf**, **--ps**, **--pdf**

  call texi2dvi to generate given output, after checking validity of TEXINFO-FILE

### General output options:

- **-E**, **--macro-expand**=*FILE*

  output macro-expanded source to FILE, ignoring any @setfilename

- **--no-headers**

  suppress node separators, Node: lines, and menus from Info output (thus producing plain text) or from HTML (thus producing shorter output). Also, if producing Info, write to standard output by default.

- **--no-split**

  suppress any splitting of the output; generate only one output file

- **--\[no-\]number-sections**

  output chapter and sectioning numbers; default is on

- **--\[no-\]number-footnotes**

  number footnotes sequentially; default is on

- **-o**, **--output**=*DEST*

  output to DEST. With split output, create DEST as a directory and put the output files there. With non-split output, if DEST is already a directory or ends with a /, put the output file there. Otherwise, DEST names the output file.

- **--disable-encoding**

  do not output accented and special characters in Info and plain text output based on document encoding

- **--enable-encoding**

  override **--disable-encoding** (default)

### Options for Info and plain text:

- **--fill-column**=*NUM*

  break Info lines at NUM columns (default 72)

- **--footnote-style**=*STYLE*

  output footnotes in Info according to STYLE: \`separate' to put them in their own node; \`end' to put them at the end of the node, in which they are defined (this is the default)

- **--paragraph-indent**=*VAL*

  indent Info paragraphs by VAL spaces (default 3). If VAL is \`none', do not indent; if VAL is \`asis', preserve existing indentation.

- **--split-size**=*NUM*

  split Info files at size NUM (default 300000)

### Options for HTML:

- **--css-include**=*FILE*

  include FILE in HTML \<style\> output; read stdin if FILE is -

- **--css-ref**=*URL*

  generate CSS reference to URL

- **--internal-links**=*FILE*

  produce list of internal links in FILE

- **--split**=*SPLIT*

  split at SPLIT, where SPLIT may be \`chapter', \`section' or \`node'

- **--transliterate-file-names**

  use file names in ASCII transliteration

- **--node-files**

  produce redirection files for nodes and anchors; default is set only if split

### Options for DVI/PS/PDF:

- **--Xopt**=*OPT*

  pass OPT to texi2dvi; can be repeated

### Input file options:

- **-D** VAR

  define the variable VAR, as with @set

- **-D** 'VAR VAL'

  define VAR to VAL (one shell argument)

- **-I** DIR

  append DIR to the @include search path

- **-P** DIR

  prepend DIR to the @include search path

- **-U** VAR

  undefine the variable VAR, as with @clear

### Conditional processing in input:

- **--ifdocbook**

  process @ifdocbook and @docbook

- **--ifhtml**

  process @ifhtml and @html

- **--ifinfo**

  process @ifinfo

- **--iflatex**

  process @iflatex and @latex

- **--ifplaintext**

  process @ifplaintext

- **--iftex**

  process @iftex and @tex

- **--ifxml**

  process @ifxml and @xml

-

  By default, an **--ifFORMAT** setting is on only when the output format is FORMAT; for example, **--ifhtml** is on when outputting HTML. Also, when **--ifFORMAT** is on, @ifnotFORMAT text is not processed.

-

  Each **--ifFORMAT** option may be prefixed with \`--no-' to negate it; for example, **--no-ifhtml** means not to process @ifhtml or @html text, and to process @ifnothtml text.

## EXAMPLES

- makeinfo foo.texi

  write Info

- makeinfo --html foo.texi

  write HTML

- makeinfo --xml foo.texi

  write Texinfo XML

- makeinfo --docbook foo.texi

  write Docbook XML

- makeinfo --plaintext foo.texi

  write plain text to standard output

- makeinfo --pdf foo.texi

  write PDF using texi2dvi

- makeinfo --html --no-headers foo.texi

  write html without node lines, menus

- makeinfo --number-sections foo.texi

  write Info with numbered sections

- makeinfo --no-split foo.texi

  write one Info file however big

## REPORTING BUGS

Email bug reports to bug-texinfo@gnu.org, general questions and discussion to help-texinfo@gnu.org.\
 Texinfo home page: https://www.gnu.org/software/texinfo/

## COPYRIGHT

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \<https://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.

## SEE ALSO

The full documentation for **texi2any** is maintained as a Texinfo manual.  If the **info** and **texi2any** programs are properly installed at your site, the command

-

  **info texi2any**

should give you access to the complete manual.
