How To Unrar Rar File On Mac

This article will tell you how to install the .rar format file decompress application ( rarlab ) in Mac OS. It will also tell you how to add unrar file shortcut menu item in the macOS Finder file popup menu list.

1. Install Unrar Command Software In Mac OS.

  1. Open a web browser and go to the rarlab download page.
  2. Download the macOS 64bit version.
  3. After downloading, unzip it to a local folder.
    (base) songs-MacBook-Pro:rar songzhao$ tree ./
    ├── acknow.txt
    ├── default.sfx
    ├── license.txt
    ├── order.htm
    ├── rar
    ├── rar.txt
    ├── rarfiles.lst
    ├── readme.txt
    ├── unrar
    └── whatsnew.txt
  4. Then cd to the folder and run the below command to install rar, unrar command.
    $ pwd
    # install rar command.
    $ sudo install -c -o $USER rar /usr/local/bin/
    # install unrar command.
    $ sudo install -c -o $USER unrar /usr/local/bin/
  5. Now you can run the below command to decompress rar compress format file.
    unrar x a.rar
    unrar x a.rar ~/Downloads
  6. If you want to get rar or unrar command parameters, you can run rar -? in the terminal to get usage help.
    $ rar -?
    RAR 5.90   Copyright (c) 1993-2020 Alexander Roshal   26 Mar 2020
    Trial version             Type 'rar -?' for help
    Usage:     rar <command> -<switch 1> -<switch N> <archive> <files...>
                   <@listfiles...> <path_to_extract\>
      a             Add files to archive
      c             Add archive comment
      ch            Change archive parameters
      cw            Write archive comment to file
      d             Delete files from archive
      e             Extract files without archived paths
      f             Freshen files in archive
      i[par]=<str>  Find string in archives
      k             Lock archive
      l[t[a],b]     List archive contents [technical[all], bare]
      m[f]          Move to archive [files only]
      p             Print file to stdout
      r             Repair archive
      rc            Reconstruct missing volumes
      rn            Rename archived files
      rr[N]         Add data recovery record
      rv[N]         Create recovery volumes
      s[name|-]     Convert archive to or from SFX
      t             Test archive files
      u             Update files in archive
      v[t[a],b]     Verbosely list archive contents [technical[all],bare]
      x             Extract files with full path
      -             Stop switches scanning
      @[+]          Disable [enable] file lists
      ad            Append archive name to destination path
      ag[format]    Generate archive name using the current date
      ai            Ignore file attributes
      ap<path>      Set path inside archive
      as            Synchronize archive contents
      c-            Disable comments show
      cfg-          Disable read configuration
      cl            Convert names to lower case
      cu            Convert names to upper case
      df            Delete files after archiving
      dh            Open shared files
      ds            Disable name sort for solid archive
      dw            Wipe files after archiving
      e[+]<attr>    Set file exclude and include attributes
      ed            Do not add empty directories
      en            Do not put 'end of archive' block
      ep            Exclude paths from names
      ep1           Exclude base directory from names
      ep3           Expand paths to full including the drive letter
      f             Freshen files
      hp[password]  Encrypt both file data and headers
      ht[b|c]       Select hash type [BLAKE2,CRC32] for file checksum
      id[c,d,p,q]   Disable messages
      ierr          Send all messages to stderr
      ilog[name]    Log errors to file
      inul          Disable all messages
      isnd[-]       Control notification sounds
      iver          Display the version number
      k             Lock archive
      kb            Keep broken extracted files
      log[f][=name] Write names to log file
      m<0..5>       Set compression level (0-store...3-default...5-maximal)
      ma[4|5]       Specify a version of archiving format
      mc<par>       Set advanced compression parameters
      md<n>[k,m,g]  Dictionary size in KB, MB or GB
      ms[ext;ext]   Specify file types to store
      mt<threads>   Set the number of threads
      n<file>       Additionally filter included files
      n@            Read additional filter masks from stdin
      n@<list>      Read additional filter masks from list file
      o[+|-]        Set the overwrite mode
      oh            Save hard links as the link instead of the file
      oi[0-4][:min] Save identical files as references
      ol[a]         Process symbolic links as the link [absolute paths]
      or            Rename files automatically
      ow            Save or restore file owner and group
      p[password]   Set password
      p-            Do not query password
      qo[-|+]       Add quick open information [none|force]
      r             Recurse subdirectories
      r-            Disable recursion
      r0            Recurse subdirectories for wildcard names only
      rr[N]         Add data recovery record
      rv[N]         Create recovery volumes
      s[<N>,v[-],e] Create solid archive
      s-            Disable solid archiving
      sc<chr>[obj]  Specify the character set
      sfx[name]     Create SFX archive
      si[name]      Read data from standard input (stdin)
      sl<size>      Process files with size less than specified
      sm<size>      Process files with size more than specified
      t             Test files after archiving
      ta[mcao]<d>   Process files modified after <d> YYYYMMDDHHMMSS date
      tb[mcao]<d>   Process files modified before <d> YYYYMMDDHHMMSS date
      tk            Keep original archive time
      tl            Set archive time to latest file
      tn[mcao]<t>   Process files newer than <t> time
      to[mcao]<t>   Process files older than <t> time
      ts[m,c,a,p]   Save or restore time (modification, creation, access, preserve)
      u             Update files
      v<size>[k,b]  Create volumes with size=<size>*1000 [*1024, *1]
      ver[n]        File version control
      vn            Use the old style volume naming scheme
      vp            Pause before each volume
      w<path>       Assign work directory
      x<file>       Exclude specified file
      x@            Read file names to exclude from stdin
      x@<list>      Exclude files listed in specified list file
      y             Assume Yes on all queries
      z[file]       Read archive comment from file

2. Add Unzip Rar File Shortcut Menu Item In Finder File Popup Menu List.

  1. Now I want to add Unzip Rar File menu item in the popup menu list when a user right-click the .rar file in macOS Finder.
  2. Open Finder, click Applications —> Automator.
  3. Click the New Document button if you run Automator for the first time.
  4. Select the Quick Action icon at the top Choose a type for your document area, then click Choose button at the bottom.
  5. Input Run Shell Script in the left side search box after the Actions tab, then in the right panel, select files or folders item in Workflow receives current drop-down list, select Finder in the in drop-down list after it.
  6. Double click Run Shell Script on left, and it will add a form in the right panel. Select as arguments in the Pass input drop-down list. Then copy below shell script in the text area.
    for f in "$@"
        unrar x $f $(dirname ${f})
  7. Click the close button to close the Automator service window, it will popup a dialog to let you input a name. Input the quick action name ( for example Unzip Rar File ) in the Save quick action as text box and click the Save button to save it.
  8. Now when you right-click a .rar format file and click the Services menu item in the popup menu list, you can find the Unzip Rar File menu item in it.

3. Example Demo Video.

  1. You can see this example demo video on the URL

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.