Make .jsonl (JSON Lines) files show as plain JSON in Quick Look on macOS Catalina and later — no third-party software needed.
We create a minimal app bundle that tells macOS ".jsonl files conform to public.json". This makes the built-in JSON Quick Look generator handle .jsonl files.
mkdir -p ~/Applications/JsonlViewer.app/Contentscat > ~/Applications/JsonlViewer.app/Contents/Info.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>com.local.jsonlviewer</string>
<key>CFBundleName</key>
<string>JsonlViewer</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>org.jsonlines.jsonl</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.json</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>jsonl</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
EOF/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f ~/Applications/JsonlViewer.app
qlmanage -r
qlmanage -r cachemdls -name kMDItemContentType somefile.jsonlThis should report a type conforming to public.json instead of a dyn.xxx dynamic type.
Press Space on a .jsonl file in Finder — it should now render as JSON.
If Quick Look still shows a blank preview, try logging out and back in to fully refresh the UTI database.
rm -rf ~/Applications/JsonlViewer.app
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -u ~/Applications/JsonlViewer.app
qlmanage -r
qlmanage -r cache