Skip to main content
fewer
Import & Export

Import & Export

Import directories from disk, GitHub, or files. Export your graph as SVG, PNG, JSON, CSV, DOT, shell scripts, or ASCII trees.

Fewer lets you import file trees in multiple formats, whether it is directly from your disk, a github url, or from a previously exported file.

Every source goes through one 3-step import dialog:

  1. Origin — pick where the tree comes from: folder, file, URL, or a linked cloud account
  2. Options — the same configuration panel for every origin (depth, hidden files, filters, …)
  3. Import — a summary of what will be imported, then Import

Press Enter to move through the steps. The same dialog is reachable from Import from disk, Import from file, Import from URL, and the cloud sources in the sidebar.

Import from Disk

  1. Click Import from disk (or press Alt+I)
  2. Select a folder in the file picker
  3. Configure options:
  4. Click Import

The graph builds instantly with auto-layout. Large imports show a progress indicator.

Drag & Drop (empty canvas)

Disabled in the web build. Dropping a folder from your OS onto the canvas to import it directly (and dropping onto a populated canvas to expand it from disk) uses File System Access handles and OS drop events, which are switched off by the LOCAL_FS_FEATURES flags in src/lib/fewer/features.ts. Use Import from disk instead — the options are identical.

Browser Support

  • Chrome/Edge: File System Access directory picker where enabled; the
  • Firefox/Safari: webkitdirectory fallback: read-only import
  • Brave: May require flag brave://flags/#enable-experimental-web-platform-features

Import Options

Max Scan Depth

How deep to scan the directory tree. 0 = no limit.

Max Display Depth

How deep to display after import. Deeper nodes go to the Hidden Cards panel.

Advanced Options (Power User mode)

OptionDefaultDescription
Include Hidden FilesOffInclude dotfiles (.gitignore, .env, etc.)
Include dependency & build foldersOffScan node_modules, dist, build, .git, etc.
Skip Empty FoldersOnHide folders with no files inside
Show Files on CanvasOnShow file nodes. Off = directories only
File ExtensionsNoneComma-separated whitelist (e.g. ts, tsx, js)
Case-Sensitive MatchOffMatch extensions case-sensitively

Import from URL

Import a directory from a URL. Fewer supports two kinds of URLs:

GitHub repositories

  1. Click the GitHub icon or use Import dialog
  2. Paste a repo URL (e.g., https://github.com/owner/repo)
  3. Click Import

Supports branch and subdirectory URLs:

  • https://github.com/owner/repo
  • https://github.com/owner/repo/tree/branch/path

Fetches the repo tree via the /api/github-tree route.

Public file index URLs

Fewer can also visualize any public directory listing that uses Apache or nginx auto-index format (the kind you see when a web server exposes a folder without an index page). Paste the URL and click Import:

  • https://example.com/data/
  • https://www.sidc.be/EUI/data/

The server crawls the index (breadth-first, up to 200 pages and 6 levels deep), parses folder/file entries and sizes, and builds the graph. Large listings are truncated with a notice. Results are cached for 24 hours, so repeat imports of the same URL load instantly.

Internet Archive URLs

Internet Archive items are imported via the archive.org metadata API — a single request returns the item's complete file tree, so there is no page/depth limit and no truncation:

  • https://archive.org/details/msdos_Prince_of_Persia_1990
  • https://archive.org/download/<identifier>/...

Auto-generated files (thumbnails, item tiles, _meta.xml) are filtered out. Every file and folder carries its archive.org URL, so the right-click Download / Open in archive.org actions work as usual. Results are cached for 24 hours like other URL imports.

Import from File

Supported formats:

  • JSON: previous Fewer export
  • ASCII tree: tree command output
  • Shell/batch script: mkdir -p output

Click Import from File and select your file. You can also paste content directly into the dialog.

Export Formats

FormatExtensionUse Case
SVG.svgVector, documentation, presentations
PNG.pngRaster, slides, social media
JSON.jsonFull graph state, re-import
CSV.csvTabular, spreadsheets
DOT.dotGraphviz rendering
Script.sh / .batReproduce directory structure
Tree.txtASCII tree for docs/README

Export Selected

Toggle Export Selected to export only the selected subtree.

Image Exports Mirror the Active View

SVG and PNG render exactly what the active graph view shows, not the raw graph state:

  • cards the view hides stay out of the image (hidden children still appear as faded rows inside their folder card)
  • per-view card positions and the view's own derived layout (Layout Direction override, Crown Shyness intensity, sibling sort) are used as-is
  • collapsed folders export as their one-line pill
  • tag rings and tag dots use the same colors as the canvas
  • the current selection carries over: each selected card gets the themed selection ring outside its border, and every edge on a selected card's ancestor path is highlighted in the same folder/file colors and 3px width the canvas uses
  • the view's edge style, stroke pattern, and edge width win over the global ones, and edges anchor to the view's layout direction exactly as the canvas handles do

Click the graph view you want before exporting. Data formats (JSON, CSV, DOT, script, tree) always export the full graph and ignore view settings. The active-view marker shown in a split layout is a UI affordance and is never drawn into an export.

PNG Options

  • Adjustable quality (1-100)
  • Transparent background toggle
  • Theme-aware background color

Keyboard Shortcuts

KeyAction
Alt+IOpen import dialog
Ctrl+EOpen export panel