Open a file browser with default directory in JavaScript and HTML?

Opening a file browser with a default directory is not possible in JavaScript due to security restrictions. Web browsers prevent websites from accessing or setting specific file system paths to protect user privacy and system security.

Why Default Directory Setting is Restricted

Browsers block this functionality for several security reasons:

  • Prevents websites from accessing sensitive system directories
  • Protects user privacy by hiding file system structure
  • Avoids potential security exploits through path manipulation
  • Directory paths may not exist on different operating systems

Standard File Input Behavior

The HTML file input always opens in the browser's default location, typically the user's Documents folder or last accessed directory:

<!DOCTYPE html>
<html>
<head>
    <title>File Browser Example</title>
</head>
<body>
    <input type="file" id="fileInput" />
    <p id="output"></p>

    <script>
        document.getElementById('fileInput').addEventListener('change', function(event) {
            const file = event.target.files[0];
            if (file) {
                document.getElementById('output').textContent = 'Selected: ' + file.name;
                console.log('File selected:', file.name);
                console.log('File size:', file.size + ' bytes');
            }
        });
    </script>
</body>
</html>

Alternative Approaches

While you cannot set a default directory, you can improve the user experience:

<!DOCTYPE html>
<html>
<body>
    <!-- Accept specific file types -->
    <input type="file" accept=".txt,.pdf,.doc" id="specificFiles" />
    
    <!-- Multiple file selection -->
    <input type="file" multiple id="multipleFiles" />
    
    <!-- Directory selection (modern browsers) -->
    <input type="file" webkitdirectory id="folderSelect" />

    <script>
        // Handle specific file types
        document.getElementById('specificFiles').addEventListener('change', function(e) {
            console.log('Specific file selected:', e.target.files[0]?.name);
        });
        
        // Handle multiple files
        document.getElementById('multipleFiles').addEventListener('change', function(e) {
            console.log('Files selected:', e.target.files.length);
        });
        
        // Handle folder selection
        document.getElementById('folderSelect').addEventListener('change', function(e) {
            console.log('Folder contents:', e.target.files.length + ' files');
        });
    </script>
</body>
</html>

Security Example

Attempting to access system paths would be blocked:

// This would be rejected by browsers:
// Opening file browser at C:\Users\Amit\Documents
// Error: Access to file system paths denied for security reasons

Browser Compatibility

Feature Chrome Firefox Safari
Basic file input Yes Yes Yes
Directory selection Yes Yes Limited
Default path setting No No No

Conclusion

Setting a default directory for file browsers is impossible in web browsers due to security restrictions. Use file type filters and user guidance instead to improve the file selection experience.

Updated on: 2026-03-15T23:18:59+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements