QuickLook JSON preview and icon thumbnailing app extensions for macOS Catalina and beyond
Just run the host app once to register the extensions — you can quit the app as soon as it has launched. We recommend logging out of your Mac and back in again at this point. Now you can preview markdown documents using QuickLook (select an icon and hit Space), and Finder’s preview pane and Info panels.
You can disable and re-enable the Previewer and Thumbnailer extensions at any time in System Preferences > Extensions > Quick Look.
You can alter some of the key elements of the preview by using the Preferences panel:
- The colour of object keys, strings,
true/false/nullwhen displayed as text, and JSON tags. - The colour of JSON object and array delimiters, if they are displayed.
- Whether to include JSON object and array delimiters in previews.
- Whether to show raw JSON if it cannot be parsed without error.
- The preview’s monospaced font and text size.
- The body text font.
- Whether preview should be display white-on-black even in Dark Mode.
Changing these settings will affect previews immediately, but may not affect thumbnail until you open a folder that has not been previously opened in the current login session.
The source code is provided here for inspection and inspiration. The code will not build as is: graphical, other non-code resources and some code components are not included in the source release. To build PreviewJson from scratch, you will need to add these files yourself or remove them from your fork.
The files REPLACE_WITH_YOUR_FUNCTIONS and REPLACE_WITH_YOUR_CODES must be replaced with your own files. The former will contain your sendFeedback(_ feedback: String) -> URLSessionTask? function. The latter your Developer Team ID, used as the App Suite identifier prefix.
You will need to generate your own Assets.xcassets file containing the app icon and an app_logo.png file and style_x.png where x is 1-3 and are, respectively, the solid, outline and textual options presented by the Preferences window as True/False/Null styles.
You will need to create your own new directory containing your own new.html file.
Contributions are welcome, but pull requests can only be accepted when they target the develop branch. PRs targetting main will be rejected.
Contributions will only be accepted if the code they contain is licensed under the terms of the MIT Licence
See CHANGELOG.md
Primary app code and UI design © 2026, Tony Smith (@smittytone).
