@tauri-apps/api/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.
Functions
Section titled “Functions”appCacheDir()
Section titled “appCacheDir()”function appCacheDir(): Promise<string>;Defined in: packages/api/src/path.ts:176
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.
Example
Section titled “Example”import { appCacheDir } from '@tauri-apps/api/path';const appCacheDirPath = await appCacheDir();Returns
Section titled “Returns”1.2.0
appConfigDir()
Section titled “appConfigDir()”function appConfigDir(): Promise<string>;Defined in: packages/api/src/path.ts:125
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.
Example
Section titled “Example”import { appConfigDir } from '@tauri-apps/api/path';const appConfigDirPath = await appConfigDir();Returns
Section titled “Returns”1.2.0
appDataDir()
Section titled “appDataDir()”function appDataDir(): Promise<string>;Defined in: packages/api/src/path.ts:142
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.
Example
Section titled “Example”import { appDataDir } from '@tauri-apps/api/path';const appDataDirPath = await appDataDir();Returns
Section titled “Returns”1.2.0
appLocalDataDir()
Section titled “appLocalDataDir()”function appLocalDataDir(): Promise<string>;Defined in: packages/api/src/path.ts:159
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.
Example
Section titled “Example”import { appLocalDataDir } from '@tauri-apps/api/path';const appLocalDataDirPath = await appLocalDataDir();Returns
Section titled “Returns”1.2.0
appLogDir()
Section titled “appLogDir()”function appLogDir(): Promise<string>;Defined in: packages/api/src/path.ts:604
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.
Example
Section titled “Example”import { appLogDir } from '@tauri-apps/api/path';const appLogDirPath = await appLogDir();Returns
Section titled “Returns”1.2.0
audioDir()
Section titled “audioDir()”function audioDir(): Promise<string>;Defined in: packages/api/src/path.ts:198
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}.
Example
Section titled “Example”import { audioDir } from '@tauri-apps/api/path';const audioDirPath = await audioDir();Returns
Section titled “Returns”1.0.0
basename()
Section titled “basename()”function basename(path: string, ext?: string): Promise<string>;Defined in: packages/api/src/path.ts:734
Returns the last portion of a path. Trailing directory separators are ignored.
Example
Section titled “Example”import { basename } from '@tauri-apps/api/path';const base = await basename('path/to/app.conf');assert(base === 'app.conf');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”1.0.0
cacheDir()
Section titled “cacheDir()”function cacheDir(): Promise<string>;Defined in: packages/api/src/path.ts:220
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}.
Example
Section titled “Example”import { cacheDir } from '@tauri-apps/api/path';const cacheDirPath = await cacheDir();Returns
Section titled “Returns”1.0.0
configDir()
Section titled “configDir()”function configDir(): Promise<string>;Defined in: packages/api/src/path.ts:242
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}.
Example
Section titled “Example”import { configDir } from '@tauri-apps/api/path';const configDirPath = await configDir();Returns
Section titled “Returns”1.0.0
dataDir()
Section titled “dataDir()”function dataDir(): Promise<string>;Defined in: packages/api/src/path.ts:264
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}.
Example
Section titled “Example”import { dataDir } from '@tauri-apps/api/path';const dataDirPath = await dataDir();Returns
Section titled “Returns”1.0.0
delimiter()
Section titled “delimiter()”function delimiter(): string;Defined in: packages/api/src/path.ts:644
Returns the platform-specific path segment delimiter:
;on Windows:on POSIX
Returns
Section titled “Returns”string
2.0.0
desktopDir()
Section titled “desktopDir()”function desktopDir(): Promise<string>;Defined in: packages/api/src/path.ts:286
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}.
Example
Section titled “Example”import { desktopDir } from '@tauri-apps/api/path';const desktopPath = await desktopDir();Returns
Section titled “Returns”1.0.0
dirname()
Section titled “dirname()”function dirname(path: string): Promise<string>;Defined in: packages/api/src/path.ts:703
Returns the parent directory of a given path. Trailing directory separators are ignored.
Example
Section titled “Example”import { dirname } from '@tauri-apps/api/path';const dir = await dirname('/path/to/somedir/');assert(dir === '/path/to');Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path |
string |
Returns
Section titled “Returns”1.0.0
documentDir()
Section titled “documentDir()”function documentDir(): Promise<string>;Defined in: packages/api/src/path.ts:308
Returns the path to the user’s document directory.
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}.
Returns
Section titled “Returns”1.0.0
downloadDir()
Section titled “downloadDir()”function downloadDir(): Promise<string>;Defined in: packages/api/src/path.ts:330
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}.
Example
Section titled “Example”import { downloadDir } from '@tauri-apps/api/path';const downloadDirPath = await downloadDir();Returns
Section titled “Returns”1.0.0
executableDir()
Section titled “executableDir()”function executableDir(): Promise<string>;Defined in: packages/api/src/path.ts:352
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.
Example
Section titled “Example”import { executableDir } from '@tauri-apps/api/path';const executableDirPath = await executableDir();Returns
Section titled “Returns”1.0.0
extname()
Section titled “extname()”function extname(path: string): Promise<string>;Defined in: packages/api/src/path.ts:718
Returns the extension of the path.
Example
Section titled “Example”import { extname } from '@tauri-apps/api/path';const ext = await extname('/path/to/file.html');assert(ext === 'html');Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path |
string |
Returns
Section titled “Returns”1.0.0
fontDir()
Section titled “fontDir()”function fontDir(): Promise<string>;Defined in: packages/api/src/path.ts:374
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.
Example
Section titled “Example”import { fontDir } from '@tauri-apps/api/path';const fontDirPath = await fontDir();Returns
Section titled “Returns”1.0.0
homeDir()
Section titled “homeDir()”function homeDir(): Promise<string>;Defined in: packages/api/src/path.ts:396
Returns the path to the user’s home directory.
Platform-specific
- Linux: Resolves to
$HOME. - macOS: Resolves to
$HOME. - Windows: Resolves to
{FOLDERID_Profile}.
Example
Section titled “Example”import { homeDir } from '@tauri-apps/api/path';const homeDirPath = await homeDir();Returns
Section titled “Returns”1.0.0
isAbsolute()
Section titled “isAbsolute()”function isAbsolute(path: string): Promise<boolean>;Defined in: packages/api/src/path.ts:748
Returns whether the path is absolute or not.
Example
Section titled “Example”import { isAbsolute } from '@tauri-apps/api/path';assert(await isAbsolute('/home/tauri'));Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path |
string |
Returns
Section titled “Returns”1.0.0
join()
Section titled “join()”function join(...paths: string[]): Promise<string>;Defined in: packages/api/src/path.ts:688
Joins all given path segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.
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');Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…paths |
string[] |
Returns
Section titled “Returns”1.0.0
localDataDir()
Section titled “localDataDir()”function localDataDir(): Promise<string>;Defined in: packages/api/src/path.ts:418
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}.
Example
Section titled “Example”import { localDataDir } from '@tauri-apps/api/path';const localDataDirPath = await localDataDir();Returns
Section titled “Returns”1.0.0
normalize()
Section titled “normalize()”function normalize(path: string): Promise<string>;Defined in: packages/api/src/path.ts:673
Normalizes the given path, resolving '..' and '.' segments and resolve symbolic links.
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`);Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
path |
string |
Returns
Section titled “Returns”1.0.0
pictureDir()
Section titled “pictureDir()”function pictureDir(): Promise<string>;Defined in: packages/api/src/path.ts:440
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}.
Example
Section titled “Example”import { pictureDir } from '@tauri-apps/api/path';const pictureDirPath = await pictureDir();Returns
Section titled “Returns”1.0.0
publicDir()
Section titled “publicDir()”function publicDir(): Promise<string>;Defined in: packages/api/src/path.ts:462
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}.
Example
Section titled “Example”import { publicDir } from '@tauri-apps/api/path';const publicDirPath = await publicDir();Returns
Section titled “Returns”1.0.0
resolve()
Section titled “resolve()”function resolve(...paths: string[]): Promise<string>;Defined in: packages/api/src/path.ts:658
Resolves a sequence of paths or path segments into an absolute path.
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');Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…paths |
string[] |
Returns
Section titled “Returns”1.0.0
resolveResource()
Section titled “resolveResource()”function resolveResource(resourcePath: string): Promise<string>;Defined in: packages/api/src/path.ts:515
Resolve the path to a resource file.
Example
Section titled “Example”import { resolveResource } from '@tauri-apps/api/path';const resourcePath = await resolveResource('script.sh');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”The full path to the resource.
1.0.0
resourceDir()
Section titled “resourceDir()”function resourceDir(): Promise<string>;Defined in: packages/api/src/path.ts:495
Returns the path to the application’s resource directory.
To resolve a resource path, see resolveResource.
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,
Example
Section titled “Example”import { resourceDir } from '@tauri-apps/api/path';const resourceDirPath = await resourceDir();Returns
Section titled “Returns”1.0.0
runtimeDir()
Section titled “runtimeDir()”function runtimeDir(): Promise<string>;Defined in: packages/api/src/path.ts:538
Returns the path to the user’s runtime directory.
Platform-specific
- Linux: Resolves to
$XDG_RUNTIME_DIR. - macOS: Not supported.
- Windows: Not supported.
Example
Section titled “Example”import { runtimeDir } from '@tauri-apps/api/path';const runtimeDirPath = await runtimeDir();Returns
Section titled “Returns”1.0.0
function sep(): string;Defined in: packages/api/src/path.ts:633
Returns the platform-specific path segment separator:
\on Windows/on POSIX
Returns
Section titled “Returns”string
2.0.0
tempDir()
Section titled “tempDir()”function tempDir(): Promise<string>;Defined in: packages/api/src/path.ts:620
Returns a temporary directory.
Example
Section titled “Example”import { tempDir } from '@tauri-apps/api/path';const temp = await tempDir();Returns
Section titled “Returns”2.0.0
templateDir()
Section titled “templateDir()”function templateDir(): Promise<string>;Defined in: packages/api/src/path.ts:560
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}.
Example
Section titled “Example”import { templateDir } from '@tauri-apps/api/path';const templateDirPath = await templateDir();Returns
Section titled “Returns”1.0.0
videoDir()
Section titled “videoDir()”function videoDir(): Promise<string>;Defined in: packages/api/src/path.ts:582
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}.
Example
Section titled “Example”import { videoDir } from '@tauri-apps/api/path';const videoDirPath = await videoDir();Returns
Section titled “Returns”1.0.0
Enumerations
Section titled “Enumerations”BaseDirectory
Section titled “BaseDirectory”Defined in: packages/api/src/path.ts:19
2.0.0
Enumeration Members
Section titled “Enumeration Members”| Enumeration Member | Value | Description | Defined in |
|---|---|---|---|
AppCache |
16 |
See appCacheDir for more information. | packages/api/src/path.ts:83 |
AppConfig |
13 |
See appConfigDir for more information. | packages/api/src/path.ts:71 |
AppData |
14 |
See appDataDir for more information. | packages/api/src/path.ts:75 |
AppLocalData |
15 |
See appLocalDataDir for more information. | packages/api/src/path.ts:79 |
AppLog |
17 |
See appLogDir for more information. | packages/api/src/path.ts:87 |
Audio |
1 |
See audioDir for more information. | packages/api/src/path.ts:23 |
Cache |
2 |
See cacheDir for more information. | packages/api/src/path.ts:27 |
Config |
3 |
See configDir for more information. | packages/api/src/path.ts:31 |
Data |
4 |
See dataDir for more information. | packages/api/src/path.ts:35 |
Desktop |
18 |
See desktopDir for more information. | packages/api/src/path.ts:91 |
Document |
6 |
See documentDir for more information. | packages/api/src/path.ts:43 |
Download |
7 |
See downloadDir for more information. | packages/api/src/path.ts:47 |
Executable |
19 |
See executableDir for more information. | packages/api/src/path.ts:95 |
Font |
20 |
See fontDir for more information. | packages/api/src/path.ts:99 |
Home |
21 |
See homeDir for more information. | packages/api/src/path.ts:103 |
LocalData |
5 |
See localDataDir for more information. | packages/api/src/path.ts:39 |
Picture |
8 |
See pictureDir for more information. | packages/api/src/path.ts:51 |
Public |
9 |
See publicDir for more information. | packages/api/src/path.ts:55 |
Resource |
11 |
See resourceDir for more information. | packages/api/src/path.ts:63 |
Runtime |
22 |
See runtimeDir for more information. | packages/api/src/path.ts:107 |
Temp |
12 |
See tempDir for more information. | packages/api/src/path.ts:67 |
Template |
23 |
See templateDir for more information. | packages/api/src/path.ts:111 |
Video |
10 |
See videoDir for more information. | packages/api/src/path.ts:59 |
© 2026 Tauri Contributors. CC-BY / MIT