CLI tool
chamburr/glance avatar
chamburr/glance

Glance is a Quick Look plugin for the file types macOS still ignores

🔎 All-in-one Quick Look plugin

834 stars40 forksSwiftMIT

At a glance

What is it?
Glance is a MIT licensed macOS Quick Look plugin that previews source code, Markdown, archives, Jupyter notebooks and tab separated files, and it is a maintained fork of an original plugin that broke on newer macOS. The install is a Homebrew cask, and the interesting parts are the file type association plumbing and the limits macOS imposes on any Quick Look extension.
Who is it for?
Glance suits a Mac user who previews source, Markdown, notebooks or archives constantly and wants a single panel that renders them, and who is willing to keep a fork alive. It is a poor fit if you need remote images inside Markdown previews, if your work depends on file types macOS reserves such as plist, ts and xml, or if you need to preview very large files, since Glance skips them.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 18 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The gap in macOS Quick Look that this fills

macOS ships a preview panel for the file types Apple decided to support, and there is a long tail of formats it ignores. Glance is a Quick Look plugin for files that macOS does not support out of the box, which in practice means you press space on a file and get an icon instead of a document. The project description calls it an all-in-one Quick Look plugin, and the README's own FAQ explains the reasoning for a single plugin rather than several. Glance combines the features of many plugins into one and provides consistent and beautiful previews, it is fully compatible with Dark Mode, some of the other plugins still use the deprecated Quick Look Generator API and might stop working in the future, and Glance can easily be extended to support other file types. The audience is a developer or writer who previews files constantly and wants one consistent, good looking panel rather than a patchwork of third party extensions.

The fork is the reason this repository exists

The About section is frank about the lineage. This is a fork of the original Glance plugin by samuelmeuli, and the reason is that the owner seems to have discarded the project a while ago, leaving the app largely broken on newer macOS systems. The aim of this fork is to revive the project and maintain it for future updates, and so far the work has added support for macOS Big Sur and fixed several internal bugs. That framing matters for anyone reading the release list. You are not adopting a design that was conceived for a new macOS, you are adopting a repair job, and the improvement path is the fork maintainer's own judgement about what breaks next. The repository also keeps an AppStore/ directory with listing assets and a description file, which suggests the maintainer intends to keep shipping through that channel alongside the Homebrew cask.

Install from a cask, or clear the quarantine flag yourself

The supported route is Homebrew, from the maintainer's own tap:

bash
brew install --cask chamburr/tap/glance

If you previously had the original plugin installed from the official tap, the README asks you to remove it first:

bash
brew uninstall --cask glance-chamburr

The manual route is more awkward because the package is not notarized. You download the .dmg from the releases page, open it and drag Glance.app into Applications, and then remove the quarantine attribute from the terminal:

bash
xattr -rd com.apple.quarantine /Applications/Glance.app

Then you launch Glance. The reason that step is needed is worth understanding rather than copying. An unnotarized app downloaded with a browser keeps a quarantine flag, and macOS refuses to run it, so the attribute has to be cleared by hand. That is also the clearest signal of the trust model here, since notarization is what lets an installer skip this step entirely.

Every format is a borrowed library

The supported file list is really a list of third party libraries, and reading it tells you what each preview is made of. Source code is rendered with Chroma for syntax highlighting, covering .cpp, .js, .json, .py, .swift, .yml and many more. Markdown is rendered using goldmark, with .md, .markdown, .mdown, .mkdn, .mkd, .Rmd and .qmd. Archives cover .7z, .tar, .tar.gz and .zip. Jupyter Notebooks are rendered using nbtohtml, which is itself the original author's project, and that is the .ipynb case. Tab separated values are parsed using SwiftCSV, with .tab and .tsv. The design is therefore compositional rather than original, and the maintainer's contribution is the packaging, the presentation and the plumbing that makes five different renderers look like one product. The extension claim in the README is that Glance can easily be extended to support other file types, and the contributing section explains exactly how to add one.

Why a preview sometimes does not appear

This is the part of the documentation that will save you the most time, and it covers three separate failure modes. The first is file type association. It is possible that your file's extension or UTI is not associated with Glance, and the README gives a three step check. You check whether the file extension is matched to the correct class in PreviewVCFactory.swift, you find the file's UTI by running mdls -name kMDItemContentType /path/to/your/file, and you check whether that UTI is listed under QLSupportedContentTypes in Info.plist. If an association is missing, the fix is to add it and submit a pull request. The second is size. Glance skips previews for large files to avoid slowing down your Mac, so a file that ought to preview may be ignored for being big. The third is a platform limit. macOS does not allow the handling of some file types, with plist, ts and xml given as examples, and that is not something the plugin can override.

Two more limits worth knowing before you install

The first is the operating system floor. The app uses the new Quick Look API that was introduced in 10.15, so it does not work on macOS 10.14 or older, which the FAQ states directly rather than leaving you to discover it. The second is Markdown assets. Glance blocks remote assets, and the app only has access to the file being previewed, so local image files referenced from a Markdown document are not loaded and remote images do not render. That is a security design rather than an oversight, since a preview pane fetching arbitrary URLs from a file you just opened would be a way to leak data, but it does mean a README with a logo at the top will show text and an empty image box. Between those two limits and the association problem, most of what looks like a broken plugin turns out to be a documented boundary.

Building from source with the bundled Makefile

The repository ships a Makefile that does the whole cycle, and the top level target is described as a fully build and install. Building the application produces it in the build folder through a Release xcodebuild invocation with a derived data path, and the install step copies the built .app into /Applications, which is the INSTALL_PATH variable. Registering the Quick Look plugin with the system then runs pluginkit -a against the QLPlugin.appex inside the installed bundle. The reset target resets the Quick Look system with qlmanage -r and qlmanage -r cache and restarts Finder and quicklookd, and there is a check target that reports the extension registration and the installed location. Xcode, Swift and Go need to be installed to build the app locally, and the tree also carries a Mintfile, a .swiftlint.yml, a .swiftformat configuration, a Makefile in the conventional style with a help target, and a PRIVACY.md file alongside the MIT LICENSE.md.

Editorial conclusion

Glance suits a Mac user who previews source, Markdown, notebooks or archives constantly and wants a single panel that renders them, and who is willing to keep a fork alive. It is a poor fit if you need remote images inside Markdown previews, if your work depends on file types macOS reserves such as plist, ts and xml, or if you need to preview very large files, since Glance skips them. Verify first that the preview appears for the extension you care about by checking the UTI with mdls -name kMDItemContentType and looking for it under QLSupportedContentTypes in Info.plist, and note that the app needs macOS 10.15 or newer because it uses the newer Quick Look API.

Frequently asked questions

How do I install Glance on macOS?

Use Homebrew with brew install --cask chamburr/tap/glance, after uninstalling any older official tap install with brew uninstall --cask glance-chamburr. Manually, drag Glance.app from the release .dmg into Applications and run xattr -rd com.apple.quarantine /Applications/Glance.app, since the package is not notarized.

Which file types does Glance preview?

Source code with Chroma syntax highlighting, Markdown rendered with goldmark, archives in .7z, .tar, .tar.gz and .zip, Jupyter notebooks rendered with nbtohtml, and tab separated values parsed with SwiftCSV.

Why do previews not show up for my file?

Check the association. Run mdls -name kMDItemContentType on the file and confirm the UTI appears under QLSupportedContentTypes in Info.plist, and that the extension is matched in PreviewVCFactory.swift. Glance also skips previews for large files.

Why are images in Markdown files not loading in Glance?

Glance blocks remote assets and the app only has access to the file being previewed, so local images referenced from a Markdown document are not loaded.

Does Glance work on older macOS versions?

No. The app uses the new Quick Look API introduced in macOS 10.15, so it does not work on 10.14 or older.

Official sources

  1. chamburr/glance on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/chamburr-glance.svg)](https://hysenlabs.com/projects/chamburr-glance)

Was this useful?