Where Does gallery-dl Store Config and Cookies?
Where gallery-dl reads config.json and cookies.txt on Linux, macOS, and Windows, in priority order.
Last updated
gallery-dl reads a file named config.json from the OS config directory: ~/.config/gallery-dl on Linux, ~/Library/Application Support/gallery-dl on macOS, %APPDATA%\gallery-dl on Windows. A cookies.txt for logins sits beside it.
Two details catch people out. Several candidate paths are checked in priority order, so a stray old file can silently win. And downloads default to a gallery-dl folder under wherever you ran the command, not to the config folder. Verbose output confirms the winning file when several exist.
Where gallery-dl stores this, by platform
~/.config/gallery-dl/config.json
config.json and cookies.txt go here. A second candidate at /etc/gallery-dl.conf acts as system default when present, with the user file overriding it. Check verbose output to confirm the winning file.
~/Library/Application Support/gallery-dl/config.json
Same filenames under Application Support. Finder hides Library, so use Go > Go to Folder. Homebrew and pip installs read the identical location, so switching installers keeps your settings.
%APPDATA%\gallery-dl\config.json
Paste %APPDATA%\gallery-dl into Explorer. JSON booleans are lowercase true/false; a capitalized True invalidates the whole file and gallery-dl falls back to defaults without much warning.
Frequently asked questions
where is the gallery-dl config file
Create config.json in the platform config directory (~/.config/gallery-dl/config.json on Linux). gallery-dl checks several spots and merges them, so run gallery-dl --list-modules with -v to confirm which file it actually loaded.
where does gallery-dl put cookies
As cookies.txt in the same config directory (or pointed at via the cookies option). Export it from the browser after logging in. Sites that check the full session may still reject it, in which case a fresh export usually fixes it.
where does gallery-dl save downloads
Downloads default to ./gallery-dl under the current directory, organized by extractor and collection. Set the directory option in config.json to pin it somewhere stable instead of wherever the terminal happened to be.
Notice an outdated path? Let us know.