CINXE.COM
file_picker | Flutter package
<!DOCTYPE html> <html lang="en-us"><head><script src="https://www.googletagmanager.com/gtm.js?id=GTM-MX6DBN9" async="async"></script><script src="/static/hash-8pjab7lp/js/gtm.js" async="async"></script><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@dart_lang"/><meta name="twitter:description" content="A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support."/><meta name="twitter:image" content="https://pub.dev/static/hash-8pjab7lp/img/pub-dev-icon-cover-image.png"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Dart packages"/><meta property="og:title" content="file_picker | Flutter package"/><meta property="og:description" content="A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support."/><meta property="og:image" content="https://pub.dev/static/hash-8pjab7lp/img/pub-dev-icon-cover-image.png"/><meta property="og:url" content="https://pub.dev/packages/file_picker"/><title>file_picker | Flutter package</title><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Google+Sans+Display:wght@400&family=Google+Sans+Text:wght@400;500;700&family=Google+Sans+Mono:wght@400;700&display=swap"/><link rel="shortcut icon" href="/static/hash-8pjab7lp/img/flutter-logo-32x32.png"/><link rel="stylesheet" href="https://www.gstatic.com/glue/v25_0/ccb.min.css"/><link rel="search" type="application/opensearchdescription+xml" title="Dart packages" href="/osd.xml"/><link rel="canonical" href="https://pub.dev/packages/file_picker"/><meta name="description" content="A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support."/><link rel="alternate" type="application/atom+xml" title="Updated Packages Feed for Pub" href="/feed.atom"/><link rel="stylesheet" type="text/css" href="/static/hash-8pjab7lp/material/bundle/styles.css"/><link rel="stylesheet" type="text/css" href="/static/hash-8pjab7lp/css/style.css"/><script src="/static/hash-8pjab7lp/material/bundle/script.min.js" defer="defer"></script><script src="/static/hash-8pjab7lp/js/script.dart.js" defer="defer"></script><script src="https://www.gstatic.com/brandstudio/kato/cookie_choice_component/cookie_consent_bar.v3.js" defer="defer" data-autoload-cookie-consent-bar="true"></script><meta name="pub-page-data" content="eyJwa2dEYXRhIjp7InBhY2thZ2UiOiJmaWxlX3BpY2tlciIsInZlcnNpb24iOiI5LjAuMCIsImxpa2VzIjo0NjAyLCJwdWJsaXNoZXJJZCI6Im1pZ3VlbHJ1aXZvLmNvbSIsImlzRGlzY29udGludWVkIjpmYWxzZSwiaXNMYXRlc3QiOnRydWV9LCJzZXNzaW9uQXdhcmUiOmZhbHNlfQ=="/><link rel="preload" href="/static/hash-8pjab7lp/highlight/highlight-with-init.js" as="script"/></head><body class="light-theme"><script src="/static/hash-8pjab7lp/js/dark-init.js"></script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MX6DBN9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div class="site-header"><button class="hamburger" aria-label="menu toggle"></button><a class="logo" href="/" aria-label="Go to the landing page of pub.dev"><img class="site-logo" src="/static/hash-8pjab7lp/img/pub-dev-logo.svg" alt="" width="140" height="30" role="presentation"/></a><div class="site-header-space"></div><div class="site-header-mask"></div><div class="site-header-search"><form action="/packages" method="GET"><input class="site-header-search-input" name="q" placeholder="New search..." autocomplete="on" title="Search"/></form></div><nav class="site-header-nav scroll-container"><div class="nav-login-container"><button id="-account-login" class="nav-main-button link">Sign in</button></div><div class="nav-container nav-help-container hoverable"><button class="nav-main-button">Help</button><div class="nav-hover-popup"><div class="nav-table-columns"><div class="nav-table-column"><h3>pub.dev</h3><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div><div class="nav-table-column"><h3>Flutter</h3><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div><div class="nav-table-column"><h3>Dart</h3><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">pub.dev <img class="foldable-icon" src="/static/hash-8pjab7lp/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Flutter <img class="foldable-icon" src="/static/hash-8pjab7lp/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Dart <img class="foldable-icon" src="/static/hash-8pjab7lp/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></nav><button class="-pub-theme-toggle" aria-label="light/dark theme toggle"></button></div><div id="banner-container"></div><main class="container"><div class="detail-wrapper -active -has-info-box"><div class="detail-header -is-loose"><div class="detail-container"><div class="detail-header-outer-block"><div class="detail-header-content-block"><h1 class="title">file_picker 9.0.0 <span class="pkg-page-title-copy"><img class="pub-monochrome-icon pkg-page-title-copy-icon filter-invert-on-dark" src="/static/hash-8pjab7lp/img/content-copy-icon.svg" alt="copy "file_picker: ^9.0.0" to clipboard" width="18" height="18" title="Copy "file_picker: ^9.0.0" to clipboard" data-copy-content="file_picker: ^9.0.0" data-ga-click-event="copy-package-version"/><div class="pkg-page-title-copy-feedback"><span class="code">file_picker: ^9.0.0</span> copied to clipboard</div></span></h1><div class="metadata">Published <span><a class="-x-ago" href="" title="Feb 15, 2025" role="button" data-timestamp="1739650789321">46 hours ago</a></span> • <a class="-pub-publisher" href="/publishers/miguelruivo.com"><img class="-pub-publisher-shield filter-invert-on-dark" src="/static/hash-8pjab7lp/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/>miguelruivo.com</a><span class="package-badge" title="Package is compatible with Dart 3.">Dart 3 compatible</span></div><div class="detail-tags-and-like"><div class="detail-tags"><div class="-pub-tag-badge"><span class="tag-badge-main">SDK</span><a class="tag-badge-sub" href="/packages?q=sdk%3Aflutter" rel="nofollow" title="Packages compatible with Flutter SDK">Flutter</a></div><div class="-pub-tag-badge"><span class="tag-badge-main">Platform</span><a class="tag-badge-sub" href="/packages?q=platform%3Aandroid" rel="nofollow" title="Packages compatible with Android platform">Android</a><a class="tag-badge-sub" href="/packages?q=platform%3Aios" rel="nofollow" title="Packages compatible with iOS platform">iOS</a><a class="tag-badge-sub" href="/packages?q=platform%3Alinux" rel="nofollow" title="Packages compatible with Linux platform">Linux</a><a class="tag-badge-sub" href="/packages?q=platform%3Amacos" rel="nofollow" title="Packages compatible with macOS platform">macOS</a><a class="tag-badge-sub" href="/packages?q=platform%3Aweb" rel="nofollow" title="Packages compatible with Web platform">web</a><a class="tag-badge-sub" href="/packages?q=platform%3Awindows" rel="nofollow" title="Packages compatible with Windows platform">Windows</a></div></div><div class="detail-like"><button id="-pub-like-icon-button" class="mdc-icon-button" data-ga-click-event="toggle-like" aria-pressed="false" title="Like this package"><img class="mdc-icon-button__icon" src="/static/hash-8pjab7lp/img/like-inactive.svg" alt="liked status: inactive" width="18" height="18"/><img class="mdc-icon-button__icon mdc-icon-button__icon--on" src="/static/hash-8pjab7lp/img/like-active.svg" alt="liked status: active" width="18" height="18"/></button><span class="likes-count"><span id="likes-count">4.6k</span></span></div></div></div></div></div></div><div class="detail-container"><div class="detail-lead"><div class="detail-metadata-toggle"><div class="detail-metadata-toggle-icon">→</div><h3 class="detail-lead-title">Metadata</h3></div><p class="detail-lead-text">A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.</p><p class="detail-lead-more"><a class="detail-metadata-toggle">More...</a></p></div></div><div class="detail-body"><div class="detail-tabs"><div class="detail-tabs-wide-header"><div class="detail-container"><ul class="detail-tabs-header"><li class="detail-tab tab-button detail-tab-readme-title -active">Readme</li><li class="detail-tab tab-link detail-tab-changelog-title"><a href="/packages/file_picker/changelog" role="button">Changelog</a></li><li class="detail-tab tab-link detail-tab-example-title"><a href="/packages/file_picker/example" role="button">Example</a></li><li class="detail-tab tab-link detail-tab-installing-title"><a href="/packages/file_picker/install" role="button">Installing</a></li><li class="detail-tab tab-link detail-tab-versions-title"><a href="/packages/file_picker/versions" role="button">Versions</a></li><li class="detail-tab tab-link detail-tab-analysis-title"><a href="/packages/file_picker/score" role="button">Scores</a></li></ul></div></div><div class="detail-container detail-body-main"><div class="detail-tabs-content"><section class="tab-content detail-tab-readme-content -active markdown-body"><p><img src="https://user-images.githubusercontent.com/27860743/64064695-b88dab00-cbfc-11e9-814f-30921b66035f.png" alt="fluter_file_picker"></p> <p align="center"> <a href="https://pub.dartlang.org/packages/file_picker" rel="ugc"> <img alt="File Picker" src="https://img.shields.io/pub/v/file_picker.svg"> </a> <a href="https://github.com/Solido/awesome-flutter" rel="ugc"> <img alt="Awesome Flutter" src="https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true&style=flat-square"> </a> <a href="https://www.buymeacoffee.com/gQyz2MR" rel="ugc"> <img alt="Buy me a coffee" src="https://img.shields.io/badge/Donate-Buy%20Me%20A%20Coffee-yellow.svg"> </a> <a href="https://github.com/miguelpruivo/flutter_file_picker/issues" rel="ugc"><img src="https://img.shields.io/github/issues/miguelpruivo/flutter_file_picker"> </a> <img src="https://img.shields.io/github/license/miguelpruivo/flutter_file_picker"> <a href="https://github.com/miguelpruivo/flutter_file_picker/actions/workflows/main.yml" rel="ugc"> <img alt="CI pipeline status" src="https://github.com/miguelpruivo/flutter_file_picker/actions/workflows/main.yml/badge.svg"> </a> </p> <h1 class="hash-header" id="file-picker">File Picker <a href="#file-picker" class="hash-link">#</a></h1> <p>A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.</p> <h2 class="hash-header" id="currently-supported-features">Currently supported features <a href="#currently-supported-features" class="hash-link">#</a></h2> <ul> <li>Uses OS default native pickers</li> <li>Supports multiple platforms (Mobile, Web, Desktop)</li> <li>Pick files using <strong>custom format</strong> filtering — you can provide a list of file extensions (pdf, svg, zip, etc.)</li> <li>Pick files from <strong>cloud files</strong> (GDrive, Dropbox, iCloud)</li> <li>Single or multiple file picks</li> <li>Supports retrieving as XFile (cross_file) for easy manipulation with other libraries</li> <li>Different default type filtering (media, image, video, audio or any)</li> <li>Picking directories</li> <li>Load file data immediately into memory (<code>Uint8List</code>) if needed;</li> <li>Open a save-file / save-as dialog (a dialog that lets the user specify the drive, directory, and name of a file to save)</li> </ul> <p>If you have any feature that you want to see in this package, please feel free to issue a suggestion. 🎉</p> <h2 class="hash-header" id="compatibility-chart">Compatibility Chart <a href="#compatibility-chart" class="hash-link">#</a></h2> <table> <thead> <tr> <th>API</th> <th>Android</th> <th>iOS</th> <th>Linux</th> <th>macOS</th> <th>Windows</th> <th>Web</th> </tr> </thead> <tbody> <tr> <td>clearTemporaryFiles()</td> <td>✔️</td> <td>✔️</td> <td>❌</td> <td>❌</td> <td>❌</td> <td>❌</td> </tr> <tr> <td>getDirectoryPath()</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>❌</td> </tr> <tr> <td>pickFiles()</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> </tr> <tr> <td>saveFile()</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>✔️</td> <td>❌</td> </tr> </tbody> </table> <p>See the <a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/api" rel="ugc">API section of the File Picker Wiki</a> or the <a href="https://pub.dev/documentation/file_picker/latest/file_picker/FilePicker-class.html">official API reference on pub.dev</a> for further details.</p> <h2 class="hash-header" id="documentation">Documentation <a href="#documentation" class="hash-link">#</a></h2> <p>See the <strong><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki" rel="ugc">File Picker Wiki</a></strong> for every detail on about how to install, setup and use it.</p> <h3 class="hash-header" id="file-picker-wiki">File Picker Wiki <a href="#file-picker-wiki" class="hash-link">#</a></h3> <ol> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/Installation" rel="ugc">Installation</a></li> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/Setup" rel="ugc">Setup</a> <ul> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/Setup#android" rel="ugc">Android</a></li> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/Setup#ios" rel="ugc">iOS</a></li> <li><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/Setup#--web" rel="ugc">Web</a></li> <li><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/Setup#--desktop" rel="ugc">Desktop</a></li> </ul> </li> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/api" rel="ugc">API</a> <ul> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/API#filters" rel="ugc">Filters</a></li> <li><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/API#parameters" rel="ugc">Parameters</a></li> <li><a href="https://github.com/miguelpruivo/plugins_flutter_file_picker/wiki/API#methods" rel="ugc">Methods</a></li> </ul> </li> <li><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/FAQ" rel="ugc">FAQ</a></li> <li><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki/Troubleshooting" rel="ugc">Troubleshooting</a></li> </ol> <h2 class="hash-header" id="usage">Usage <a href="#usage" class="hash-link">#</a></h2> <p>Quick simple usage example:</p> <h4 id="single-file">Single file</h4> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles(); if (result != null) { File file = File(result.files.single.path!); } else { // User canceled the picker } </code></pre> <h4 id="multiple-files">Multiple files</h4> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles(allowMultiple: true); if (result != null) { List<File> files = result.paths.map((path) => File(path!)).toList(); } else { // User canceled the picker } </code></pre> <h4 id="multiple-files-with-extension-filter">Multiple files with extension filter</h4> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles( allowMultiple: true, type: FileType.custom, allowedExtensions: ['jpg', 'pdf', 'doc'], ); </code></pre> <h4 id="pick-a-directory">Pick a directory</h4> <pre><code class="language-dart">String? selectedDirectory = await FilePicker.platform.getDirectoryPath(); if (selectedDirectory == null) { // User canceled the picker } </code></pre> <h4 id="save-file--save-as-dialog">Save-file / save-as dialog</h4> <pre><code class="language-dart">String? outputFile = await FilePicker.platform.saveFile( dialogTitle: 'Please select an output file:', fileName: 'output-file.pdf', ); if (outputFile == null) { // User canceled the picker } </code></pre> <h3 class="hash-header" id="load-result-and-file-details">Load result and file details <a href="#load-result-and-file-details" class="hash-link">#</a></h3> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles(); if (result != null) { PlatformFile file = result.files.first; print(file.name); print(file.bytes); print(file.size); print(file.extension); print(file.path); } else { // User canceled the picker } </code></pre> <h3 class="hash-header" id="retrieve-all-files-as-xfiles-or-individually">Retrieve all files as XFiles or individually <a href="#retrieve-all-files-as-xfiles-or-individually" class="hash-link">#</a></h3> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles(); if (result != null) { // All files List<XFile> xFiles = result.xFiles; // Individually XFile xFile = result.files.first.xFile; } else { // User canceled the picker } </code></pre> <h4 id="pick-and-upload-a-file-to-firebase-storage-with-flutter-web">Pick and upload a file to Firebase Storage with Flutter Web</h4> <pre><code class="language-dart">FilePickerResult? result = await FilePicker.platform.pickFiles(); if (result != null) { Uint8List fileBytes = result.files.first.bytes; String fileName = result.files.first.name; // Upload file await FirebaseStorage.instance.ref('uploads/$fileName').putData(fileBytes); } </code></pre> <p>For full usage details refer to the <strong><a href="https://github.com/miguelpruivo/flutter_file_picker/wiki" rel="ugc">Wiki</a></strong> above.</p> <h2 class="hash-header" id="example-app">Example App <a href="#example-app" class="hash-link">#</a></h2> <h4 id="android">Android</h4> <p><img src="https://github.com/miguelpruivo/flutter_file_picker/blob/master/example/screenshots/example_android.gif?raw=true" alt="DemoAndroid"></p> <h4 id="ios">iOS</h4> <p><img src="https://github.com/miguelpruivo/flutter_file_picker/blob/master/example/screenshots/example_ios.gif?raw=true" alt="DemoMultiFilters"></p> <h4 id="macos">MacOS</h4> <p><img src="https://github.com/miguelpruivo/flutter_file_picker/blob/master/example/screenshots/example_macos.png?raw=true" alt="DemoMacOS"></p> <h4 id="linux">Linux</h4> <p><img src="https://github.com/miguelpruivo/flutter_file_picker/blob/master/example/screenshots/example_linux.gif?raw=true" alt="DemoLinux"></p> <h4 id="windows">Windows</h4> <p><img src="https://github.com/miguelpruivo/flutter_file_picker/blob/master/example/screenshots/example_windows.gif?raw=true" alt="DemoWindows"></p> <h2 class="hash-header" id="getting-started">Getting Started <a href="#getting-started" class="hash-link">#</a></h2> <p>For help getting started with Flutter, view our online <a href="https://flutter.io/" rel="ugc">documentation</a>.</p> <p>For help on editing plugin code, view the <a href="https://flutter.io/platform-plugins/#edit-code" rel="ugc">documentation</a>.</p> </section></div></div></div><aside class="detail-info-box"><a class="packages-scores" href="/packages/file_picker/score"><div class="packages-score packages-score-like"><div class="packages-score-value -has-value"><span class="packages-score-value-number">4.6k</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">likes</div></div><div class="packages-score packages-score-health"><div class="packages-score-value -has-value"><span class="packages-score-value-number">160</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">points</div></div><div class="packages-score packages-score-downloads" title="Number of downloads of this package during the past 30 days"><div class="packages-score-value -has-value"><span class="packages-score-value-number">1.7M</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">downloads</div></div></a><h3 class="title">Publisher</h3><p><a href="/publishers/miguelruivo.com"><img class="-pub-publisher-shield filter-invert-on-dark" src="/static/hash-8pjab7lp/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/>miguelruivo.com</a></p><h3 class="title">Weekly Downloads</h3><div id="-weekly-downloads-sparkline" class="weekly-downloads-sparkline" data-widget="weekly-sparkline" data-weekly-sparkline-points="ANmvZ4CxBgBRBgYATx0GAPPkBQD9ygUA2ogFAMqdAwBWpgMAd4wFADiBBgCVRgYANOQFADPQBQDh/AUAP40FAG6VBQBBvgUAZzcFAJVdBQAfBgUAjnMFAL/jBABWKAUAPxkFAAopBQDKLwUAWsIEAJrKBABk5QQAitIEAJJzBAA8awQAjj4EAKbdBACUcwQAt3EEAFYVBAB0AgQAXhoEAAcFBAAXugMA7I8DAOUIBAA/mAMA+D4DALpcAwDERwMAsvgDAE/sAwD3DgQAxJcDAHSUAwA="></div><h3 class="title pkg-infobox-metadata">Metadata</h3><p>A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.</p><p><a class="link" href="https://github.com/miguelpruivo/plugins_flutter_file_picker" rel="ugc">Homepage</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker" rel="ugc">Repository (GitHub)</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker/issues" rel="ugc">View/report issues</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker/blob/master/CONTRIBUTING.md" rel="ugc">Contributing</a><br/></p><h3 class="title">Documentation</h3><p><a class="link" href="/documentation/file_picker/latest/">API reference</a><br/></p><h3 class="title">License</h3><p><img class="inline-icon-img filter-invert-on-dark" src="/static/hash-8pjab7lp/img/material-icon-balance.svg" alt="" width="14" height="14" role="presentation"/>MIT (<a href="/packages/file_picker/license">license</a>)</p><h3 class="title">Dependencies</h3><p><a href="/packages/cross_file" title="^0.3.4+2">cross_file</a>, <a href="/packages/ffi" title="^2.1.3">ffi</a>, <a href="https://api.flutter.dev/">flutter</a>, <a href="/packages/flutter_plugin_android_lifecycle" title="^2.0.22">flutter_plugin_android_lifecycle</a>, <a href="https://api.flutter.dev/flutter/flutter_web_plugins/flutter_web_plugins-library.html">flutter_web_plugins</a>, <a href="/packages/path" title="^1.9.0">path</a>, <a href="/packages/plugin_platform_interface" title="^2.1.8">plugin_platform_interface</a>, <a href="/packages/web" title="^1.1.0">web</a>, <a href="/packages/win32" title="^5.9.0">win32</a></p><h3 class="title">More</h3><p><a href="/packages?q=dependency%3Afile_picker" rel="nofollow">Packages that depend on file_picker</a></p></aside></div><script type="application/ld+json">{"@context":"http\u003a\u002f\u002fschema.org","@type":"SoftwareSourceCode","name":"file\u005fpicker","version":"9.0.0","description":"file\u005fpicker - A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.","url":"https\u003a\u002f\u002fpub.dev\u002fpackages\u002ffile\u005fpicker","dateCreated":"2018-09-09T12\u003a19\u003a22.056877Z","dateModified":"2025-02-15T20\u003a19\u003a49.321575Z","programmingLanguage":"Dart","image":"https\u003a\u002f\u002fpub.dev\u002fstatic\u002fimg\u002fpub-dev-icon-cover-image.png","license":"https\u003a\u002f\u002fpub.dev\u002fpackages\u002ffile\u005fpicker\u002flicense"}</script></div><div class="detail-metadata"><h3 class="detail-metadata-title"><span class="detail-metadata-toggle">←</span> Metadata</h3><div class="detail-info-box"><a class="packages-scores" href="/packages/file_picker/score"><div class="packages-score packages-score-like"><div class="packages-score-value -has-value"><span class="packages-score-value-number">4.6k</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">likes</div></div><div class="packages-score packages-score-health"><div class="packages-score-value -has-value"><span class="packages-score-value-number">160</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">points</div></div><div class="packages-score packages-score-downloads" title="Number of downloads of this package during the past 30 days"><div class="packages-score-value -has-value"><span class="packages-score-value-number">1.7M</span><span class="packages-score-value-sign"></span></div><div class="packages-score-label">downloads</div></div></a><h3 class="title">Publisher</h3><p><a href="/publishers/miguelruivo.com"><img class="-pub-publisher-shield filter-invert-on-dark" src="/static/hash-8pjab7lp/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/>miguelruivo.com</a></p><h3 class="title">Weekly Downloads</h3><div id="-weekly-downloads-sparkline" class="weekly-downloads-sparkline" data-widget="weekly-sparkline" data-weekly-sparkline-points="ANmvZ4CxBgBRBgYATx0GAPPkBQD9ygUA2ogFAMqdAwBWpgMAd4wFADiBBgCVRgYANOQFADPQBQDh/AUAP40FAG6VBQBBvgUAZzcFAJVdBQAfBgUAjnMFAL/jBABWKAUAPxkFAAopBQDKLwUAWsIEAJrKBABk5QQAitIEAJJzBAA8awQAjj4EAKbdBACUcwQAt3EEAFYVBAB0AgQAXhoEAAcFBAAXugMA7I8DAOUIBAA/mAMA+D4DALpcAwDERwMAsvgDAE/sAwD3DgQAxJcDAHSUAwA="></div><h3 class="title pkg-infobox-metadata">Metadata</h3><p>A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.</p><p><a class="link" href="https://github.com/miguelpruivo/plugins_flutter_file_picker" rel="ugc">Homepage</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker" rel="ugc">Repository (GitHub)</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker/issues" rel="ugc">View/report issues</a><br/><a class="link" href="https://github.com/miguelpruivo/flutter_file_picker/blob/master/CONTRIBUTING.md" rel="ugc">Contributing</a><br/></p><h3 class="title">Documentation</h3><p><a class="link" href="/documentation/file_picker/latest/">API reference</a><br/></p><h3 class="title">License</h3><p><img class="inline-icon-img filter-invert-on-dark" src="/static/hash-8pjab7lp/img/material-icon-balance.svg" alt="" width="14" height="14" role="presentation"/>MIT (<a href="/packages/file_picker/license">license</a>)</p><h3 class="title">Dependencies</h3><p><a href="/packages/cross_file" title="^0.3.4+2">cross_file</a>, <a href="/packages/ffi" title="^2.1.3">ffi</a>, <a href="https://api.flutter.dev/">flutter</a>, <a href="/packages/flutter_plugin_android_lifecycle" title="^2.0.22">flutter_plugin_android_lifecycle</a>, <a href="https://api.flutter.dev/flutter/flutter_web_plugins/flutter_web_plugins-library.html">flutter_web_plugins</a>, <a href="/packages/path" title="^1.9.0">path</a>, <a href="/packages/plugin_platform_interface" title="^2.1.8">plugin_platform_interface</a>, <a href="/packages/web" title="^1.1.0">web</a>, <a href="/packages/win32" title="^5.9.0">win32</a></p><h3 class="title">More</h3><p><a href="/packages?q=dependency%3Afile_picker" rel="nofollow">Packages that depend on file_picker</a></p></div><p class="detail-lead-back"><a class="detail-metadata-toggle">Back</a></p></div><div id="-screenshot-carousel" class="carousel"><fab id="-carousel-prev" class="mdc-fab carousel-prev carousel-nav" data-mdc-auto-init="MDCRipple" title="Previous" data-ga-click-event="screenshot-carousel-prev-click" tabindex="0"><div class="mdc-fab__ripple"></div><img class="mdc-fab__icon" src="/static/hash-8pjab7lp/img/keyboard_arrow_left.svg" alt="previous" width="24" height="24" aria-hidden="true"/></fab><div id="-image-container" class="image-container"></div><fab id="-carousel-next" class="mdc-fab carousel-next carousel-nav" data-mdc-auto-init="MDCRipple" title="Next" data-ga-click-event="screenshot-carousel-next-click" tabindex="0"><div class="mdc-fab__ripple"></div><img class="mdc-fab__icon" src="/static/hash-8pjab7lp/img/keyboard_arrow_right.svg" alt="next" width="24" height="24" aria-hidden="true"/></fab><p id="-screenshot-description" class="screenshot-description"></p></div></main><footer class="site-footer"><a class="link" href="https://dart.dev/">Dart language</a><a class="link sep" href="/report?subject=package%3Afile_picker&url=https%3A%2F%2Fpub.dev%2Fpackages%2Ffile_picker">Report package</a><a class="link sep" href="/policy">Policy</a><a class="link sep" href="https://www.google.com/intl/en/policies/terms/">Terms</a><a class="link sep" href="https://developers.google.com/terms/">API Terms</a><a class="link sep" href="/security">Security</a><a class="link sep" href="https://www.google.com/intl/en/policies/privacy/">Privacy</a><a class="link sep" href="/help">Help</a><a class="link icon sep" href="/feed.atom"><img class="inline-icon" src="/static/hash-8pjab7lp/img/rss-feed-icon.svg" alt="RSS" width="20" height="20" title="RSS/atom feed"/></a><a class="link icon github_issue" href="https://github.com/dart-lang/pub-dev/issues/new"><img class="inline-icon" src="/static/hash-8pjab7lp/img/bug-report-white-96px.png" alt="bug report" width="20" height="20" title="Report an issue with this site"/></a></footer><script src="/static/hash-8pjab7lp/highlight/highlight-with-init.js" defer="defer"></script></body></html>