A fast, zero-install folder analysis tool for developers and power users.
Scan any project folder in seconds. Filter by depth, size, type or subfolder.
Copy paths, copy files flat, or merge everything into a single AI-ready .txt β all from one clean interface.
β¬ Download Β· β¨ Features Β· π How to Use Β· π€ Vibe Coding Β· π¨ Build from Source
FolderScope is a standalone desktop application β no Python, no terminal, no installation required. Download the file for your platform, double-click, and it just works.
It was built for developers, designers, and power users who need to understand what's inside a project directory, filter it precisely, and do something useful with the results. Whether you're auditing a codebase, preparing files to send somewhere, or feeding context into an AI assistant β FolderScope gets you there in seconds.
| Platform | File | How to run |
|---|---|---|
| πͺ Windows | FolderScope.exe |
Double-click. No installer needed. Move it anywhere. |
| π macOS | FolderScope.app |
Drag to Applications, or run from anywhere. |
macOS first launch: Right-click the app β Open β Open. This bypasses the Gatekeeper warning that appears on unsigned apps downloaded from the internet. You only need to do this once.
Clean drop zone β drag a folder or click to browse
Pre-scan filter β skip heavy folders before scanning even starts
Full results β sortable list with filename, type, size, and full path
Depth filter β control exactly how many folder levels to show
Extension filter β choose exactly which file types to include
Folder filter β checkbox tree for post-scan subfolder exclusions
Actions panel β 3 powerful export options always one click away
FolderScope scans entirely in a background thread β the UI stays fully responsive while it works. A live counter shows files found in real time. Hit Cancel any time to stop immediately.
Projects with tens of thousands of files are handled effortlessly. The app never freezes.
Before the scan starts, FolderScope shows a dialog where you can uncheck folders you want to skip entirely. The scanner will never enter them β it doesn't scan and hide, it skips at the root level. This is the difference between scanning 200 source files and 80,000 node_modules files.
Comes pre-configured with 24 common library and cache folders:
| Category | Folders |
|---|---|
| JavaScript / Node | node_modules, .next, .nuxt |
| Python | __pycache__, .venv, venv, .tox, .mypy_cache, .pytest_cache |
| Version Control | .git |
| Build Output | dist, build, .gradle |
| Caches | .cache, .sass-cache |
| IDEs | .idea, .vscode |
| Mobile | Pods, Carthage |
| System | __MACOSX, $RECYCLE.BIN |
You can also type any additional folder names to skip (comma-separated). Closing the dialog or clicking Cancel aborts the scan completely β no accidental triggers.
After scanning, four filters work simultaneously and update results instantly.
Control how many subfolder levels deep the results reach:
- All β every file in every nested subfolder
- Root only (0) β only files directly in the chosen folder
- N levels β dynamically populated based on how deep the scan found files
Set a minimum and/or maximum file size in MB. Useful for finding large assets, or filtering out tiny auto-generated files. Maximum defaults to "Unlimited" β enable it only when you need it.
A searchable dialog lists every extension found in the scan with its file count. Check or uncheck individual types. Use Select All / Select None for bulk changes. Type in the search box to instantly find .tsx, .json, or any other format.
A live checkbox tree of all scanned subfolders. Uncheck any folder β and all its children are excluded instantly. Ideal for removing test directories, generated code, or specific sub-projects after the fact.
List View β a sortable table with five columns:
| Column | Description |
|---|---|
# |
Original scan order |
| File Name | The filename |
| Extension | File extension (.tsx, .json, etc.) |
| Size (MB) | File size, rounded to 2 decimal places |
| Full Path | Complete absolute path on disk |
Click any column header to sort. Click again to reverse. Numeric columns sort numerically β not alphabetically.
Tree View β the same filtered files shown as a folder hierarchy. Expand and collapse branches to understand the project structure visually.
Copies the full absolute paths of all currently filtered files to your clipboard β one path per line. Paste into a terminal, a script, an IDE, or anywhere else.
Copies all filtered files into a destination folder you choose, completely flat (no subfolder structure preserved). Options include:
- Collision handling β Overwrite existing files / Skip / Rename automatically (recommended)
- Unique naming β optionally prefix each filename with its relative path, replacing separators with
__(e.g.src__components__Button.tsx). This prevents collisions when files in different subfolders share the same name. - Auto-shortening β filenames that would exceed Windows path limits are automatically shortened and a SHA1 hash suffix is added to keep them unique.
Merges all filtered text files into a single UTF-8 .txt file. Each file is separated by a clearly labelled divider:
============================================================
DOSYA: package.json
============================================================
{
"name": "my-app",
"version": "1.0.0"
}
============================================================
DOSYA: README.md
============================================================
# My App
This project does...
How it works:
- Files are read in parallel using a thread pool for maximum speed
- Multiple encodings tried in sequence:
utf-8βutf-8-sigβlatin-1βcp1254βcp1252 - Binary files (images, fonts, executables) are never silently skipped β they appear as
[Binary / unreadable file β skipped]in the output so you know exactly what was excluded - The entire output is written in a single buffered pass β fast even with hundreds of files
- Progress is shown in real time; the export can be cancelled at any point
If you use AI assistants for coding β ChatGPT, Claude, Gemini, Cursor, or any other β you've run into the file upload limit. Most tools cap you at somewhere between 5 and 20 files per session. When your project has 50, 100, or 300 source files, that limit breaks your workflow.
FolderScope solves this problem completely.
Here's the workflow:
1. Drop your project folder into FolderScope
2. In the pre-scan dialog, uncheck node_modules, .git, dist, and similar noise
3. Use the extension filter to select only meaningful file types β .ts, .tsx, .js, .json, .md, .css β and deselect images, icons, lock files, and binaries
4. Click Export Files as TXT
5. Upload that single .txt file to your AI
Your AI assistant now has the complete context of your entire codebase β every component, every config, every utility and type definition β in a single upload. No copy-pasting. No juggling multiple chat messages. No context gaps from missing files.
This makes FolderScope one of the most practically useful tools in a vibe coder's toolkit. The ability to give an AI your whole project in one shot, precisely filtered to what matters, changes what's possible in a single conversation.
1. Launch FolderScope (double-click the .exe or .app)
2. Drag a project folder onto the drop zone, or click "Choose Folderβ¦"
3. In the pre-scan dialog:
- Uncheck folders you want to skip (node_modules, .git, dist, etc.)
- Add any custom folder names to skip in the text field
- Click "Start Scan β"
4. Browse results in List or Tree view
5. Use the sidebar filters to narrow down to exactly what you need
6. Click one of the three action buttons
Exploring a new project: Scan with default settings, use Tree view to understand the folder structure, switch to List view and sort by Size (MB) to find the largest files.
Preparing a codebase for AI:
Uncheck library folders in the pre-scan dialog. After scanning, use the extension filter to deselect .png, .ico, .svg, .lock, .map, and other non-code files. Click Export Files as TXT.
Collecting source files from a deep directory: Use the depth filter to focus on specific levels. Use the folder filter to exclude test or mock directories. Use Copy Files to Folder with unique naming enabled.
Finding specific file types across a large project: Scan everything, then use the extension filter to show only the extensions you care about. The file count in the status bar updates as you filter.
FolderScope is a single Python file with one dependency: PyQt6.
# Clone
git clone https://github.com/BoraPolat/FolderScope.git
cd FolderScope
# Install dependencies
pip install PyQt6 pyinstaller
# Run directly
python FolderScope.py
# Or build a standalone executable
pyinstaller FolderScope.spec
# Output:
# Windows β dist/FolderScope.exe (single file, portable)
# macOS β dist/FolderScope.app (app bundle, drag to Applications)Requirements: Python 3.8+, PyQt6. Nothing else.
See BUILD_INSTRUCTIONS.md for full details including Universal2 (Apple Silicon + Intel combined) builds and troubleshooting common issues.
FolderScope/
βββ FolderScope.py # The entire application β single file
βββ FolderScope.spec # PyInstaller build config (Windows + macOS)
βββ BUILD_INSTRUCTIONS.md # Detailed build guide
βββ icon.ico # Windows icon
βββ icon.icns # macOS icon
βββ images/ # Screenshots for this README
MIT License with Attribution Requirement
FolderScope is open source. You are free to use, modify, fork, and redistribute it β including commercially β under the following condition:
The original author's name and copyright notice must be preserved in all copies or substantial portions of the software, and credited in any derived project.
MIT License
Copyright (c) 2026 Bora Polat (borapolade@outlook.com)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Issues and pull requests are welcome. If you're planning a significant change, please open an issue first to discuss the direction.
If you build something on top of FolderScope or use it in your workflow, a star on the repo is always appreciated. β