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.
2.0.0
AppCache: 16;appCacheDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L83
AppConfig: 13;appConfigDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L71
AppData: 14;appDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L75
AppLocalData: 15;appLocalDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L79
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: 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: 18;desktopDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L91
Document: 6;documentDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L43
Download: 7;downloadDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L47
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: 5;localDataDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L39
Picture: 8;pictureDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L51
Public: 9;publicDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L55
Resource: 11;resourceDir for more information.
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L63
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: 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
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.
Promise<string>
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
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.
Promise<string>
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
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.
Promise<string>
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
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.
Promise<string>
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
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.
Promise<string>
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
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}.
Promise<string>
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
function basename(path, ext?): Promise<string>Returns the last portion of a path. Trailing directory separators are ignored.
| Parameter | Type | Description |
|---|---|---|
path | string | - |
ext? | string | An optional file extension to be removed from the returned path. |
Promise<string>
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
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}.
Promise<string>
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
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}.
Promise<string>
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
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}.
Promise<string>
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
function delimiter(): stringReturns the platform-specific path segment delimiter:
;on Windows:on POSIX
string
2.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L644
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}.
Promise<string>
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
function dirname(path): Promise<string>Returns the parent directory of a given path. Trailing directory separators are ignored.
| Parameter | Type |
|---|---|
path | string |
Promise<string>
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
function documentDir(): Promise<string>Returns the path to the user’s document directory.
Promise<string>
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
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}.
Promise<string>
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
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.
Promise<string>
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
function extname(path): Promise<string>Returns the extension of the path.
| Parameter | Type |
|---|---|
path | string |
Promise<string>
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
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.
Promise<string>
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
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}.
Promise<string>
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
function isAbsolute(path): Promise<boolean>Returns whether the path is absolute or not.
| Parameter | Type |
|---|---|
path | string |
Promise<boolean>
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
function join(...paths): Promise<string>Joins all given path segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.
| Parameter | Type |
|---|---|
…paths | string[] |
Promise<string>
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
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}.
Promise<string>
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
function normalize(path): Promise<string>Normalizes the given path, resolving '..' and '.' segments and resolve symbolic links.
| Parameter | Type |
|---|---|
path | string |
Promise<string>
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
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}.
Promise<string>
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
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}.
Promise<string>
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
function resolve(...paths): Promise<string>Resolves a sequence of paths or path segments into an absolute path.
| Parameter | Type |
|---|---|
…paths | string[] |
Promise<string>
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
function resolveResource(resourcePath): Promise<string>Resolve the path to a resource file.
| 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 (../). |
Promise<string>
The full path to the resource.
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
function resourceDir(): Promise<string>Returns the path to the application’s resource directory.
To resolve a resource path, see resolveResource.
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,
Promise<string>
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
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.
Promise<string>
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
string
2.0.0
Source: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/path.ts#L633
function tempDir(): Promise<string>Returns a temporary directory.
Promise<string>
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
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}.
Promise<string>
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
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}.
Promise<string>
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
© 2025 Tauri Contributors. CC-BY / MIT