× Help save net neutrality! Learn more.

GrandPerspective is a utility application for Macs that graphically displays the disk usage of a file system. It can help you to manage your disk, as you can easily spot which files and folders take up the most space.

  GrandPerspective, Version 1.3.1


GrandPerspective is a small utility for Mac OS X that can draw two-
dimensional views of disk use within a file system. This can help you
to manage your disk, as you can easily spot which files and folders
take up the most space.

The graphical representation is a logical one, where each file is
shown as a rectangle with an area proportional to the file's size.
Files in the same folder appear together, but other than that the
placement of files is arbitrary. You can observe this by resizing the
view window. The location of files will change, in order to keep the
rectangles as square as possible.


  - Mac OS X, 10.3 or higher
  - PowerPC or Intel processor


This version of GrandPerspective is released as two separate files:

  * GrandPerspective-1_3_1.dmg
      This is the main release file. It contains all you need to run
      the application. To install the application, open the disk 
      image and drag the application icon onto your Applications
      folder, or wher'ever you want to put it onto your file system.
      Next, run the application by clicking on the icon.

  * GrandPerspective-1_3_1-src.tgz

      This contains the source code of the application. It consists of
      the Objective C source code, as well as various auxiliary files,
      such as the nib files that are used to construct the GUI.

Note: From Version 1.0 onwards localized versions of GrandPerspective 
are released for a subset of releases, those whose second number in
the version string is even. These versions do not introduce new
features. Next to updated translated resources they will only include
fixes, minor cosmetic changes, and refactoring "behind the scenes". 


The GrandPerspective application has been released as Open Source 
under the GNU General Public License. See COPYING.txt for details.


For more information about the application, please visit the website
at http://grandperspectiv.sourceforge.net. From there, you can 
download the latest release of the software. It is also possible to
report bugs, make a donation, suggest additional features, provide 
more general feedback, etc.


Special thanks to all that have provided localizations of the 
application: Chris Li, Maxime Hadjinlian, Javier Alfonso and Helge 

Many thanks to everyone that has shown support by making donations. 
They have been used to fund the required upgrade to Leopard, which has 
enabled me to build Universal Binaries.

Also thanks to Martin Kahr who made Universal Binaries available for
early releases of GrandPerspective, and to Craig Hughes who helped me
early on to make the source code Intel-compatible.

Thanks to Miles Ponson (iTweek) for providing the free set of "knobs"
icons, two of which I used for the toolbar (the images for the Reveal
and Delete actions to be precise; the Open icon is my own concoction).

Thanks to the many users that have reported bugs and suggested
improvements. This has definitely made the application better than it
would otherwise have been. Lucky0 deserves a special mention for the 
amount of useful feedback given. 

Finally thanks to all that have helped to get the word out about the
application. Developing the application may be fun, but having actual
users makes it worthwhile.


The GrandPerspective application has been developed by Erwin Bonsma.
Please visit the website at http://grandperspectiv.sourceforge.net for
details on how to contact me.

  GrandPerspective Change Log

  Version 1.3.1, 13-03-2010

Minor improvement:
- Application now also accepts drops of folders and volumes (Feature 
  request #2789715)
- Exported Scan Folder and Load Scan Data as a service.
  - Added Services menu item to application menu (it wouldn't be fair
    otherwise now, would it? ;-)

Bug fix:
- Fixed bug #2935266: Cannot open or reveal files with slashes in 
  their names.

  Version 1.3.0, 17-01-2010

New functionality:
- Improvements to filters (and masks):
  - All filters now have names that can be used to select them:
    - Select filters from the new filter selection panel.
    - Select masks using a pop-up button in the Display panel.
  - The application comes with a couple of filters out of the box.
  - User-created filters are automatically stored in the preferences
    so you can use them again later.
  - Scan dumps now include information about filters that were used,
    both their names as well as the filter tests they contain. 
  - Enabled individual inversion of tests in a filter.

- Converted all NIBs to XIBs.
- Renamed several windows and their control classes.

Bug fix:
- Fixed bug #1947382: Typing return in Rule Name field can cause rule

  Version 1.1.0, 26-09-2009

Minor improvements:
- Added number of scanned and deleted files to Info panel.
- Added Rescan button to toolbar.
- Rescan can now optionally close the old window.
- Added context menu to views to let you Reveal, Open and Delete
  selected files.
- Added ability to store user-editable comments with saved scan data.
- Scan data is now stored in files with a .gpscan extension.
  - These files have their own icon and filetype, and are associated
    with the application.
- You can now invoke the application from the command line with:
  - a path of a folder to scan, or
  - a path of a scan data file to load.

Bug fixes:
- Fixed bug #2562846: Failure to load scan data
  - Incorrect saving of scan data in OS X 10.4 should be fixed now.
- Freed space did not correctly reflect deletion of hard-linked files.

- Added various advanced "How To" sections to the help documentation.

  Version 1.0 (localized), 22-12-2008

Updated localizations:
- Japanese, by Chris Li
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma

  Version 1.0, 22-12-2008

New functionality:
- Added a customizable toolbar, including new controls:
  - Added control for changing the focus (which previously could only 
    be done using the keyboard or scrollwheel).
  - Added new "Open with Finder" action (not to be confused with
    existing "Reveal in Finder" action).

Minor improvements:
- Improvements to the appearance of the view window:
  - Moved info about selected item to statusbar.
  - Removed borders around view.
  - Not showing rectangle around outermost item in the selected path
    unless necessary.
- Positioning newly opened view windows so they cascade.
- When creating a derived view window its size matches that of the 
  original window.
- Sorted the available tests in the "Edit Filter" window by name.
- Sibling directories are scanned depending on their creation date 
  (oldest first). This deterministic ordering is particularly helpful
  when scanning an entire TimeMachine backup as hard-linked files 
  will be included in the backup where they first appeared.
- Made selection automatically stick to end-point when reaching a
  file after moving selection down a level.
- When resizing the window the view is still being shown.
- Added keyboard shortcuts for zooming.
- Added menu item for visiting the GrandPerspective website.
- The selection only follows the mouse when the view window has main
- Now also setting hardlink and package status for root of scan tree.
- Showing an alert when an invalid date value is encountered when
  loading scan data.
- Alerts created by a view window are now all shown as sheets of that
- Moved horizontal drawers away from the window's left edge.
- The initial size of windows and the color gradient for drawing
  rectangles in the view are now taken from the user defaults.
- Moved description of file type in Focus panel from separate text
  field to tooltip of the file type identifier.

Bug fixes:
- Included workaround for bug #2243134 (crash while scanning NTFS 
  mounted filesystem).
- Coloring by Level would end up in endless loop for packages at 
  level zero when package contents were hidden. Not anymore.
- Aborting a drawing task that was just about to complete could 
  result in premature aborting of next task. Not anymore.
- Closed Edit Mask windows would reappear when the application 
  got activated again after reactivation. They now remain hidden.

Code clean-up:
- Renamed FileItem -isSpecial to -isPhysical (and inverted meaning)
- Simplified abortion of background tasks (removed enabled state 
  from TaskExecutor).
- Moved zoom and focus functionality to DirectoryView.

  Version (localized), 01-10-2008

Updated localizations:
- Japanese, by Chris Li
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian
- Dutch, by Erwin Bonsma

  Version, 29-08-2008

Bug fixes:
- Fixed "silly typo" bug that caused crashes when scanning. 
- Failures of FSRefMakePath do not abort scanning anymore, but are
  handled gracefully instead.

  Version 0.9.13, 26-08-2008

New functionality:
- Scan data can now be saved to an XML file and loaded again at a 
  later time.
- Progress of ongoing scan, filter, save, and load tasks is now 

Minor improvements:
- All text fields in the view's drawer are now selectable.
- Views are immediately cleared when they are resized.
- Reduced the amount of memory needed when scanning and filtering.
- The trees used to store scan results are now stored in a dedicated
  memory zone to minimise fragmentation and optimise memory usage.

Bug fixes:
- Plugged a big memory leak. The image was not released when the view
  was resized. This has been fixed.
- The drawer of the Edit Filter window could be detached from its
  window. This cannot happen anymore.
- Aborting a filter task would create a view anyway. Not anymore.
- Now obtaining readlock on the tree before filtering.

Code clean-up:
- Replaced all remaining NSBrowsers by NSTableViews.
- Moved TaskExecutor protocol from "util" folder to "task".
- Placed ProgressPanelControl and its new subclasses into the 
  "control/progress" subfolder.
- Renamed various classes and methods.

  Version, 14-06-2008

Bug fix:
- [1990250] Applying a Path test on folders in a filter could crash
  the application. This has been fixed.

Minor improvements:
- Extended help documentation to better explain how tests on folders

  Version 0.9.12, 10-06-2008

New functionality:
- Hard-linked files and folders are recognized and handled
- Mask and filter rules can now optionally be applied to folders.
- Added Filtered Scan command, which lets you apply a filter while
- Optionally showing package contents.
- Added several new tests for mask and filter rules (on file type,
  package status, and hard link status)

Minor improvements:
- Improved application-default ranking of uniform types.
- Added new application-provided tests (Packages and Hard-linked 
  items) and updated existing ones.
- Improved GUI of "Edit Filter Rule" window.
- Made progress panel resizable.
- Case-sensitivity of string tests is now reflected in their

Bug fixes:
- Files inside a package can now be revealed (unless the package is
  itself in a package).
- Filtering produced corrupt trees (PlainFileItems were replaced by
  FileItems), which could trigger various exceptions. This has been
- Fixed synchronisation in TreeContext.
- AsynchronousTaskManager now unlocks its locks before releasing them.

Code clean-up:
- Introduced ItemPathModelView for managing view-specific selection
  path state.
- Introduced FilteredTreeGuide for applying masks and filters.
- FileItems are now duplicated using factory methods.
- Refactored TreeBuilder.
- Removed several warnings when compiling using XCode 3.0.
- Renamed "filter" folder to "test".
- Renamed various classes, methods and member variables.
- Removed some unnecessary nesting.

  Version 0.9.11 (localized), 22-04-2008

Updated localizations:
- Japanese, by Chris Li
- Dutch, by Erwin Bonsma

  Version 0.9.11, 18-03-2008

New functionality:
- Files and folders can now be deleted from the view window:
  - Deletion can be enabled and disabled from the Preferences, with
    optional required confirmation.
  - The view updates itself to show freed space.
  - The total amount of freed space is shown in the Info panel.
- Added coloring by file type:
  - The hierarchical Uniform Type system of OS X is used as a basis.
  - A color legend in the Display panel shows the file type that
    corresponds to each color.
  - The types that are assigned a different color can be controlled
    in the Preferences by changing the order of the uniform types.
  - The list of new uniform types is dynamically extended as new 
    types are encountered during scanning.
Minor improvements:
- Improved drawer of the view window:
  - The Focus panel now shows the file type of the selected item.
  - The width of the drawer can be increased.
  - Improved wrapping/scrolling of text fields in the Info panel.
- Renamed "Depth" color mapping scheme to "Level". The newly added
  color legend shows the level that is associated with each color.

Bug fixes:
- Removed race condition in view redrawing code that could trigger
  a near endless cycle of view redrawings.
- It was possible to show multiple preference panels at once. Not 
- Made it impossible to change the names of application-provided 
  rules. Furthermore, now correctly showing the localized namee.

Code clean-up:
- Using constants for all event strings and user default keys.
- Application defaults are now set in the Info.plist file.
- Improved reverse look-up of localized keys.
- Moved all Item classes to the "tree" folder.
- Moved all file item hashing related classes to a separate folder.

  Version 0.9.10 (localized), 20-01-2008

New localizations:
- Spanish, by Javier Alfonso
- French, by Maxime Hadjinlian

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma

  Version 0.9.10, 12-12-2007

New functionality:
- Added ability to show the entire volume on which the scanned folder
  resides, including free space.
- Added ability to select folders in the view window. By default, 
  files are still selected, but you can select folders using the
  scrollwheel of the mouse or the "[" and "]" keys.

Minor improvements:
- The "Info" panel has been pimped:
  - It more elegantly shows the folder that has been scanned, 
    together with the volume it is on.
  - It now also shows the size of volume and the amount of 
    miscellaneous used space. 
- Added more color palettes, each with at least eight colors. Removed
  several old palettes that had relatively few colors.
- Made the path to the selected file more clearly visible in the view.
- Improved drawing of the view so that it does not unnecessarily
  "flash" when it is updated.

Minor meta changes:
- Changed version numbering scheme to allow this release before
  releasing Version 1.00. (Just insert a dot in the version numbers
  of all earlier releases for the new numbering to make sense)

Code clean-up:
- Drastically refactored the code in order to cleanly add the new

  Version 0.99 (localized), 28-03-2007

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma

  Version 0.99, 24-02-2007

New functionality:
- Added choice of file size measure. You can choose between logical
  file size (the default), and physical file size.
- Added help. Hopefully rarely needed, but at least it exists.

Changes to the release files:
- The application has been released as a Universal Binary.
- The source release has been extended, and now includes everything
  needed to build the application. Newly included:
  - The (cleaned up) project file.
  - The help documentation.
  - All Dutch resources (as an example for other localizers).

Tiny changes:
- Made titles of various panels and their default buttons more
- Moved all localizable names into new Names.strings file.
- Moved all color palettes into "Palettes" subfolder.
- Enlarged bounding box of text fields where there was room (to
  facilitate localization).

Bug fixes:
- Enabling a filename or path test without specifying any strings 
  does not give an error anymore.
- It was possible to specify a negative file size bound, which
  resulted in a very large size. Not any more.
- It was possible (to attempt) to save an image with a dimension that
  was zero or negative. This resulted in an exception. Not anymore.
- When a "void" test was returned after adding or editing a mask or
  filter rule an exception occurred. This has been fixed.

  Version 0.98 (localized), 09-01-2007

Updated localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma

  Version 0.98, 15-12-2006

New functionality:
- Masking and filtering rules that are created (or modified) by the 
  user are now stored in the user preferences so that they are
  available next time the application is run.
- The default file item tests are now read from the information
  properties file, instead of being hardcoded in the application.
- String tests support case-insensitive matching.
- Now also showing human-friendly file sizes in the Info and Focus
- Added button for removing all tests from the filter in the
  "Edit Filter" window.

Minor improvements:
- The path test now applies to path of the folder where the file item
  resides (excluding the name of the file itself). This way it better
  complements the name test.
- Path strings are cached during filtering or drawing of the file
  item tree for improved performance.
- Changed size of main window to 640x480.
- Internationalized the OK and Cancel buttons of alert panels.

Bug fix:
- When an image was saved, the "Clown Barf" palette was always used, 
  irrespective of the palette used by the view. This has been fixed.
- The CFBundleSignature, CFBundleIdentifier, and CFBundleVersion 
  properties in Info.plist were not set correctly. This, for instance,
  meant that preferences were incorrectly associated with the 
  example com.apple.myCocoaApp application. This has been fixed.

  Version 0.97 (localized), 10-12-2006

New localizations:
- Japanese, by Chris Li
- German, by Helge Baumann
- Dutch, by Erwin Bonsma

  Version 0.97, 14-11-2006

New functionality:
- There is now a choice of color palettes.
  - The palettes that can be chosen have been taken from the 
    ColorSchemer gallery at http://www.colorschemer.com/schemes/.
    Thanks to the following users for providing one or more color 
    schemes: copperblue, tumuchtime, Jalle, Nemoflow, and rageforst.
- Preferences can now be changed and stored. This means that you
  can change the default color mapping and default color palette.
- The application has been fully internationalized. This means that
  localized versions can now be generated.
  - See LOCALIZATION.TXT for details on how you can help to make
    GrandPerspective available in your language.

Minor improvements:
- Zero-sized items are not included in the tree anymore. This 
  reduces the memory footprint and stops tree paths from being 
  drawn when the tree has a total size of zero.

Code clean-up:
- Renamed FileItemHashingOptions to FileItemHashingCollection and
  more generally made it match the new ColorListCollection class.
  Also renamed instances of FileItemHashing to colorMapping.

Bug fixes:
- Closing Filter Window would freeze application (see 1562627)
- Selecting an empty filter would throw an assertion (see 1562627).
- It used to be possible for a test that was not available to be 
  selected anyway, which could cause various anomalous behaviours.

  Version 0.96, 12-08-2006

Changes since Version 0.95:

- New functionality:
  - Added ability to filter a directory view window, which generates 
    a new window with a "filtered view". The filter determines which
    files are shown in the new window.
    - If a filter has been applied this is reflected in the window
  - Added a drawer to directory view windows. It has three panels:
    - An "Info" panel with details about the files that are shown
      in the view, including: 
      - the time of scan,
      - the folder that was scanned, and
      - details of the filter that has been applied (if any).
    - A "Display" panel for configuring the way the view is drawn. 
      Here you can specify:
      - how files are colored, and
      - the mask that is used (if any).
    - A "Focus" panel with details about:
      - the folder that is currently shown in the view, and
      - the file that is currently selected.

- Tiny changes:
  - The button for revealing a file in Finder has been renamed to 
    "Reveal" (it used to be "Show").
  - The file coloring options "directory" and "top directory" have 
    been renamed to "folder" and "top folder" respectively.
  - Cosmetic changes to the "Edit Filter" window.

- Code cleanup:
  - The progress panel has been refactored. It is now also used when
    filtering takes place.
  - All tasks and executors have been moved to a new "task" folder.
  - Simplified the code that creates the attributed string for the 
    selected file.
  - The contents of PopUpButtons are now set in their nib file 
    instead of programmatically.

- Bug fix:
  - Plugged a memory leak in the image drawing code.

  Version 0.95, 05-07-2006

Changes since Version 0.94:

- New functionality:
  - Added ability to mask files. When a file is masked it is not
    drawn, but still takes up space in the view. Masking files is 
    handy for quickly spotting certain types of file.
    - A mask can be quickly enabled or disabled.
    - A test for masking can be created quickly by selecting one or
      more existing rules.
    - Existing rules can be edited and new ones can be created.
    - Rules can take the name of the file into account, its size, and 
      its path.
    - Rules can be identified by their friendly name, but a full
      description can optionally also be shown.

- Tiny changes:
  - Added coloring by "top directory" option as suggested by Adrian 
    Sampson (ID 1501479).
  - Made color-mapping choice in directory view a pop-up button.
  - Added keyboard shortcuts for Re-scan and Filter commands.
  - The SaveImageDialog is now centered.

- Code cleanup:
  - The code is now spread across various folders.
  - Made implementation of TreeLayoutTraverser protocol explicit.
  - Split BalancingTreeBuilder in two: TreeBuilder and TreeBalancer.

  Version 0.94, 09-05-2006

Changes since Version 0.93:

- New functionality:
  - There is now a "rescan" command which generates an up-to-date 
    window given an existing one. You can use this command after you
    have moved or deleted several files and folders.

- Tiny changes:
  - Window titles now include the time of the scan and, if needed,
    an additional number, to make each title unique.
  - The scan progress panel now shows the name of the folder that is
    being scanned.
  - Renamed the "Open" button of the directory view window to "Show".
  - Renamed the "Scan directory..." command to "Scan Folder...".

- Code clean up:
  - Generalised the execution of background threads in the new
    AsynchronousTaskManager class, which is now used for both drawing
    and rescanning in a background thread. 
  - The scan progress panel has been moved into a nib of its own,
    and now has a dedicated control: ScanProgressPanelControl.

- Bug fix:
  - Fixed the drawing code so that it also runs properly when
    compiled for Intel Macs. Many thanks to Craig Hughes for his
    help with this.

  Version 0.93, 22-01-2006

Changes since Version 0.92:

- New functionality:
  - Selected files can now be opened in Finder. This can be used to 
    examine files and folders in more detail, and to optionally 
    remove, move or edit files.
  - An image of the directory view can now be generated and saved (as
    a TIFF image).

- Code clean up:
  - Refactored ItemTreeDrawer into two classes. ItemTreeDrawer now
    does the basic drawing, and AsynchronousItemTreeDrawer manages
    drawing in a separate thread.

- Bug fix:
  - The thread used for drawing in the background is now properly
    terminated and disposed of when it is not needed anymore.

  Version 0.92, 10-01-2006

Changes since Version 0.91:

- New functionality:
  - Added a "twin window" command. This is like the "duplicate window" 
    command, except that navigation of the directory tree in the new
    window is synchronized with its parent window.

- Improved functionality:
  - When duplicating a window, the file colouring scheme and the path
    in the tree are now also copied.

- Code clean up:
  - Refactored code so that it adheres much better to the MVC pattern.

- Bug fixes:
  - Fixed bug that would occassionally prevent redrawing of the
    directory view. (ID 1309819)
  - Plugged a big memory leak. The directory tree is now actually
    freed when all windows that refer to it are closed.

  Version 0.91, 30-09-2005

Changes since Version 0.90:

- Now building with ZeroLink disabled, so that the application should
  actually run on machines other than my own. :-)

- Optimised view drawing. Drawing the tree map of my entire hard drive 
  contents at 1280x1024 resolution on my Mac Mini now takes only half
  a second.

  Version 0.90, 20-09-2005

First release of GrandPerspective.

- A view showing directory trees graphically:
  - Layout of files using a basic balanced tree building algorithm.
  - Drawing of files using basic gradient filling.

- Support for different file colouring schemes. Colouring by: 
  - Directory name (i.e. a hash of the name)
  - File name (i.e. a hash of the name)
  - File type (i.e. hash of file extension)
  - Nothing (all files same colour)

- Selection of a file in the view:
  - To descend into the directory tree.
  - To enable copying of file path. 

- Support for multiple windows:
  - Scan different folder and show in new window.
  - Duplication of an existing window (to view data differently).

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, Thank you