WindowsLinux

Where Does MiKTeX Store Config and Packages?

Where MiKTeX keeps its TEXMF roots for config, data and packages.

Last updated

MiKTeX splits TEXMF roots by role: UserConfig and UserInstall under Roaming AppData, UserData under Local AppData, and Common trees under ProgramData for all users. Linux and Mac map the same roles onto .miktex and Library paths.

The Roots tab in settings shows the same map graphically. Version numbers ride in folder names, so scripts should resolve paths through initexmf rather than hardcoding them.

Where MiKTeX stores this, by platform

Windows
%APPDATA%\MiKTeX\

Per-user config and package install roots. Formats and caches sit in the LocalAppData sibling. Common trees under ProgramData serve all users. List live roots with initexmf --report.

Linux
~/.miktex/texmfs/

Same UserConfig, UserData and UserInstall roles under .miktex/texmfs. System trees live under /var and /usr/local/share. Register extra roots with initexmf --register-root.

Frequently asked questions

How do I list my MiKTeX roots?

Run initexmf --report. It prints every root with its purpose, which beats memorizing versioned folder names that change per release.

How do I add a personal texmf tree?

Register it with initexmf --register-root using an absolute path, then refresh. Personal trees cannot be toggled on the fly, so plan the layout at install time or accept the defaults.

Notice an outdated path? Let us know.