path
The path module provides utilities for working with file and directory paths.
This package is also accessible with window.__TAURI__.path when app.withGlobalTauri in tauri.conf.json is set to true.
It is recommended to allowlist only the APIs you use for optimal bundle size and security.
Enumerations
Section titled “Enumerations”BaseDirectory
Section titled “BaseDirectory”2.0.0
Enumeration Members
Section titled “Enumeration Members”AppCache
Section titled “AppCache”AppCache: 16;appCacheDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L83
AppConfig
Section titled “AppConfig”AppConfig: 13;appConfigDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L71
AppData
Section titled “AppData”AppData: 14;appDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L75
AppLocalData
Section titled “AppLocalData”AppLocalData: 15;appLocalDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L79
AppLog
Section titled “AppLog”AppLog: 17;appLogDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L87
Audio: 1;audioDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L23
Cache: 2;cacheDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L27
Config
Section titled “Config”Config: 3;configDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L31
Data: 4;dataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L35
Desktop
Section titled “Desktop”Desktop: 18;desktopDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L91
Document
Section titled “Document”Document: 6;documentDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L43
Download
Section titled “Download”Download: 7;downloadDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L47
Executable
Section titled “Executable”Executable: 19;executableDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L95
Font: 20;fontDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L99
Home: 21;homeDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L103
LocalData
Section titled “LocalData”LocalData: 5;localDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L39
Picture
Section titled “Picture”Picture: 8;pictureDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L51
Public
Section titled “Public”Public: 9;publicDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L55
Resource
Section titled “Resource”Resource: 11;resourceDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L63
Runtime
Section titled “Runtime”Runtime: 22;runtimeDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L107
Temp: 12;tempDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L67
Template
Section titled “Template”Template: 23;templateDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L111
Video: 10;videoDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L59
Functions
Section titled “Functions”appCacheDir()
Section titled “appCacheDir()”function appCacheDir(): Promise<string>Returns the path to the suggested directory for your app’s cache files.
Resolves to ${cacheDir}/${bundleIdentifier}, where bundleIdentifier is the identifier value configured in tauri.conf.json.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { appCacheDir } from '@tauri-apps/api/path';const appCacheDirPath = await appCacheDir();1.2.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L176
appConfigDir()
Section titled “appConfigDir()”function appConfigDir(): Promise<string>Returns the path to the suggested directory for your app’s config files.
Resolves to ${configDir}/${bundleIdentifier}, where bundleIdentifier is the identifier value configured in tauri.conf.json.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { appConfigDir } from '@tauri-apps/api/path';const appConfigDirPath = await appConfigDir();1.2.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L125
appDataDir()
Section titled “appDataDir()”function appDataDir(): Promise<string>Returns the path to the suggested directory for your app’s data files.
Resolves to ${dataDir}/${bundleIdentifier}, where bundleIdentifier is the identifier value configured in tauri.conf.json.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { appDataDir } from '@tauri-apps/api/path';const appDataDirPath = await appDataDir();1.2.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L142
appLocalDataDir()
Section titled “appLocalDataDir()”function appLocalDataDir(): Promise<string>Returns the path to the suggested directory for your app’s local data files.
Resolves to ${localDataDir}/${bundleIdentifier}, where bundleIdentifier is the identifier value configured in tauri.conf.json.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { appLocalDataDir } from '@tauri-apps/api/path';const appLocalDataDirPath = await appLocalDataDir();1.2.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L159
appLogDir()
Section titled “appLogDir()”function appLogDir(): Promise<string>Returns the path to the suggested directory for your app’s log files.
Platform-specific
- Linux: Resolves to
${configDir}/${bundleIdentifier}/logs. - macOS: Resolves to
${homeDir}/Library/Logs/{bundleIdentifier} - Windows: Resolves to
${configDir}/${bundleIdentifier}/logs.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { appLogDir } from '@tauri-apps/api/path';const appLogDirPath = await appLogDir();1.2.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L604
audioDir()
Section titled “audioDir()”function audioDir(): Promise<string>Returns the path to the user’s audio directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_MUSIC_DIR. - macOS: Resolves to
$HOME/Music. - Windows: Resolves to
{FOLDERID_Music}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { audioDir } from '@tauri-apps/api/path';const audioDirPath = await audioDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L198
basename()
Section titled “basename()”function basename(path, ext?): Promise<string>Returns the last portion of a path. Trailing directory separators are ignored.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
path | string | - |
ext? | string | An optional file extension to be removed from the returned path. |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { basename } from '@tauri-apps/api/path';const base = await basename('path/to/app.conf');assert(base === 'app.conf');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L734
cacheDir()
Section titled “cacheDir()”function cacheDir(): Promise<string>Returns the path to the user’s cache directory.
Platform-specific
- Linux: Resolves to
$XDG_CACHE_HOMEor$HOME/.cache. - macOS: Resolves to
$HOME/Library/Caches. - Windows: Resolves to
{FOLDERID_LocalAppData}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { cacheDir } from '@tauri-apps/api/path';const cacheDirPath = await cacheDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L220
configDir()
Section titled “configDir()”function configDir(): Promise<string>Returns the path to the user’s config directory.
Platform-specific
- Linux: Resolves to
$XDG_CONFIG_HOMEor$HOME/.config. - macOS: Resolves to
$HOME/Library/Application Support. - Windows: Resolves to
{FOLDERID_RoamingAppData}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { configDir } from '@tauri-apps/api/path';const configDirPath = await configDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L242
dataDir()
Section titled “dataDir()”function dataDir(): Promise<string>Returns the path to the user’s data directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOMEor$HOME/.local/share. - macOS: Resolves to
$HOME/Library/Application Support. - Windows: Resolves to
{FOLDERID_RoamingAppData}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { dataDir } from '@tauri-apps/api/path';const dataDirPath = await dataDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L264
delimiter()
Section titled “delimiter()”function delimiter(): stringReturns the platform-specific path segment delimiter:
;on Windows:on POSIX
Returns
Section titled “Returns”string
2.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L644
desktopDir()
Section titled “desktopDir()”function desktopDir(): Promise<string>Returns the path to the user’s desktop directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_DESKTOP_DIR. - macOS: Resolves to
$HOME/Desktop. - Windows: Resolves to
{FOLDERID_Desktop}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { desktopDir } from '@tauri-apps/api/path';const desktopPath = await desktopDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L286
dirname()
Section titled “dirname()”function dirname(path): Promise<string>Returns the parent directory of a given path. Trailing directory separators are ignored.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | string |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { dirname } from '@tauri-apps/api/path';const dir = await dirname('/path/to/somedir/');assert(dir === '/path/to');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L703
documentDir()
Section titled “documentDir()”function documentDir(): Promise<string>Returns the path to the user’s document directory.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { documentDir } from '@tauri-apps/api/path';const documentDirPath = await documentDir();Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_DOCUMENTS_DIR. - macOS: Resolves to
$HOME/Documents. - Windows: Resolves to
{FOLDERID_Documents}.
1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L308
downloadDir()
Section titled “downloadDir()”function downloadDir(): Promise<string>Returns the path to the user’s download directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_DOWNLOAD_DIR. - macOS: Resolves to
$HOME/Downloads. - Windows: Resolves to
{FOLDERID_Downloads}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { downloadDir } from '@tauri-apps/api/path';const downloadDirPath = await downloadDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L330
executableDir()
Section titled “executableDir()”function executableDir(): Promise<string>Returns the path to the user’s executable directory.
Platform-specific
- Linux: Resolves to
$XDG_BIN_HOME/../binor$XDG_DATA_HOME/../binor$HOME/.local/bin. - macOS: Not supported.
- Windows: Not supported.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { executableDir } from '@tauri-apps/api/path';const executableDirPath = await executableDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L352
extname()
Section titled “extname()”function extname(path): Promise<string>Returns the extension of the path.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | string |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { extname } from '@tauri-apps/api/path';const ext = await extname('/path/to/file.html');assert(ext === 'html');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L718
fontDir()
Section titled “fontDir()”function fontDir(): Promise<string>Returns the path to the user’s font directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOME/fontsor$HOME/.local/share/fonts. - macOS: Resolves to
$HOME/Library/Fonts. - Windows: Not supported.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { fontDir } from '@tauri-apps/api/path';const fontDirPath = await fontDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L374
homeDir()
Section titled “homeDir()”function homeDir(): Promise<string>Returns the path to the user’s home directory.
Platform-specific
- Linux: Resolves to
$HOME. - macOS: Resolves to
$HOME. - Windows: Resolves to
{FOLDERID_Profile}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { homeDir } from '@tauri-apps/api/path';const homeDirPath = await homeDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L396
isAbsolute()
Section titled “isAbsolute()”function isAbsolute(path): Promise<boolean>Returns whether the path is absolute or not.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | string |
Returns
Section titled “Returns”Promise<boolean>
Example
Section titled “Example”import { isAbsolute } from '@tauri-apps/api/path';assert(await isAbsolute('/home/tauri'));1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L748
join()
Section titled “join()”function join(...paths): Promise<string>Joins all given path segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…paths | string[] |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { join, appDataDir } from '@tauri-apps/api/path';const appDataDirPath = await appDataDir();const path = await join(appDataDirPath, 'users', 'tauri', 'avatar.png');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L688
localDataDir()
Section titled “localDataDir()”function localDataDir(): Promise<string>Returns the path to the user’s local data directory.
Platform-specific
- Linux: Resolves to
$XDG_DATA_HOMEor$HOME/.local/share. - macOS: Resolves to
$HOME/Library/Application Support. - Windows: Resolves to
{FOLDERID_LocalAppData}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { localDataDir } from '@tauri-apps/api/path';const localDataDirPath = await localDataDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L418
normalize()
Section titled “normalize()”function normalize(path): Promise<string>Normalizes the given path, resolving '..' and '.' segments and resolve symbolic links.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path | string |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { normalize, appDataDir } from '@tauri-apps/api/path';const appDataDirPath = await appDataDir();const path = await normalize(`${appDataDirPath}/../users/tauri/avatar.png`);1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L673
pictureDir()
Section titled “pictureDir()”function pictureDir(): Promise<string>Returns the path to the user’s picture directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_PICTURES_DIR. - macOS: Resolves to
$HOME/Pictures. - Windows: Resolves to
{FOLDERID_Pictures}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { pictureDir } from '@tauri-apps/api/path';const pictureDirPath = await pictureDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L440
publicDir()
Section titled “publicDir()”function publicDir(): Promise<string>Returns the path to the user’s public directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_PUBLICSHARE_DIR. - macOS: Resolves to
$HOME/Public. - Windows: Resolves to
{FOLDERID_Public}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { publicDir } from '@tauri-apps/api/path';const publicDirPath = await publicDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L462
resolve()
Section titled “resolve()”function resolve(...paths): Promise<string>Resolves a sequence of paths or path segments into an absolute path.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…paths | string[] |
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { resolve, appDataDir } from '@tauri-apps/api/path';const appDataDirPath = await appDataDir();const path = await resolve(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L658
resolveResource()
Section titled “resolveResource()”function resolveResource(resourcePath): Promise<string>Resolve the path to a resource file.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
resourcePath | string | The path to the resource. Must follow the same syntax as defined in tauri.conf.json > bundle > resources, i.e. keeping subfolders and parent dir components (../). |
Returns
Section titled “Returns”Promise<string>
The full path to the resource.
Example
Section titled “Example”import { resolveResource } from '@tauri-apps/api/path';const resourcePath = await resolveResource('script.sh');1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L515
resourceDir()
Section titled “resourceDir()”function resourceDir(): Promise<string>Returns the path to the application’s resource directory.
To resolve a resource path, see resolveResource.
Platform-specific
Section titled “Platform-specific”Although we provide the exact path where this function resolves to, this is not a contract and things might change in the future
- Windows: Resolves to the directory that contains the main executable.
- Linux: When running in an AppImage, the
APPDIRvariable will be set to the mounted location of the app, and the resource dir will be${APPDIR}/usr/lib/${exe_name}. If not running in an AppImage, the path is/usr/lib/${exe_name}. When running the app fromsrc-tauri/target/(debug|release)/, the path is${exe_dir}/../lib/${exe_name}. - macOS: Resolves to
${exe_dir}/../Resources(inside .app). - iOS: Resolves to
${exe_dir}/assets. - Android: Currently the resources are stored in the APK as assets so it’s not a normal file system path,
we return a special URI prefix
asset://localhost/here that can be used with the file system plugin,
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { resourceDir } from '@tauri-apps/api/path';const resourceDirPath = await resourceDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L495
runtimeDir()
Section titled “runtimeDir()”function runtimeDir(): Promise<string>Returns the path to the user’s runtime directory.
Platform-specific
- Linux: Resolves to
$XDG_RUNTIME_DIR. - macOS: Not supported.
- Windows: Not supported.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { runtimeDir } from '@tauri-apps/api/path';const runtimeDirPath = await runtimeDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L538
function sep(): stringReturns the platform-specific path segment separator:
\on Windows/on POSIX
Returns
Section titled “Returns”string
2.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L633
tempDir()
Section titled “tempDir()”function tempDir(): Promise<string>Returns a temporary directory.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { tempDir } from '@tauri-apps/api/path';const temp = await tempDir();2.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L620
templateDir()
Section titled “templateDir()”function templateDir(): Promise<string>Returns the path to the user’s template directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_TEMPLATES_DIR. - macOS: Not supported.
- Windows: Resolves to
{FOLDERID_Templates}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { templateDir } from '@tauri-apps/api/path';const templateDirPath = await templateDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L560
videoDir()
Section titled “videoDir()”function videoDir(): Promise<string>Returns the path to the user’s video directory.
Platform-specific
- Linux: Resolves to
xdg-user-dirs’XDG_VIDEOS_DIR. - macOS: Resolves to
$HOME/Movies. - Windows: Resolves to
{FOLDERID_Videos}.
Returns
Section titled “Returns”Promise<string>
Example
Section titled “Example”import { videoDir } from '@tauri-apps/api/path';const videoDirPath = await videoDir();1.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L582
© 2026 Tauri Contributors. CC-BY / MIT