Where Are Jupyter Config Files and Data Stored?
Jupyter splits config, data and runtime files across three directory sets. Config paths, data dirs and the commands that print them.
Last updated
Jupyter keeps three separate directory families: config files, data files like kernelspecs and extensions, and runtime files like connection JSON and logs. Config lives in .jupyter directly in your home directory on every OS, which surprises Windows users expecting AppData. Data follows each platform's application-data convention instead.
The practical move is letting Jupyter report on itself. jupyter --paths prints all three families as currently resolved, including any JUPYTER_CONFIG_DIR or JUPYTER_DATA_DIR overrides. Check that output before editing anything a guide names, since virtualenvs and env vars shift the answers.
Where Jupyter stores this, by platform
%USERPROFILE%\.jupyter
Config is %USERPROFILE%\.jupyter on all installs, not AppData. Data (kernelspecs, extensions) lives at %APPDATA%\jupyter. System-wide config sits under %PROGRAMDATA%\jupyter. Run jupyter --paths to confirm, since env vars and virtualenvs change the effective dirs.
~/.jupyter
Config is ~/.jupyter. Data lives at ~/Library/Jupyter (older installs) or ~/Library/Application Support/Jupyter. System config sits in /usr/local/etc/jupyter and /etc/jupyter. jupyter --data-dir prints the data dir your install actually uses.
~/.jupyter
Config is ~/.jupyter. Data lives at ~/.local/share/jupyter, honoring $XDG_DATA_HOME. System config sits in /etc/jupyter with /usr/local/share/jupyter for shared data. JUPYTER_CONFIG_DIR and JUPYTER_DATA_DIR override either path when set.
Frequently asked questions
how do i create a jupyter config file
Run jupyter notebook --generate-config or jupyter server --generate-config. It writes a commented defaults file into .jupyter for that application. Edit the lines you need and leave the rest commented. Server and notebook configs are separate files with overlapping option names.
how do i find which jupyter folders are active
Run jupyter --paths. It prints the config, data and runtime directories actually in effect, including environment overrides. jupyter --config-dir, --data-dir and --runtime-dir print one set each. Trust this output over any guide when something disagrees.
where are jupyter kernels installed
In the data directory under kernels, one subfolder per kernel with a kernel.json inside. User kernels live in the user data dir from the platform entries; system kernels live under the Python prefix or ProgramData. Deleting a stale subfolder removes the dead kernel entry.
Notice an outdated path? Let us know.