Skip to content

A local Go-based web application that helps you discover, preview, and manage fonts on your system.

License

Notifications You must be signed in to change notification settings

bradsec/fontlook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FontLook

Go Report Card

FontLook is a local Go-based web application that helps you discover, preview, and manage fonts on your system. This tool allows you to browse your local font files, generate previews, and convert fonts to both True Type Fonts (TTF) and Web Open Font Format 2.0 (WOFF2) formats. It's especially useful for managing large font collections and finding the ideal font for your projects.

preview

Features

  • Scan and discover fonts in specified directories
  • Support for TTF, OTF, WOFF, and WOFF2 formats
  • Real-time font preview generation
  • Customizable preview text and font size
  • Format conversion using Google WOFF2 Tools (TTF/OTF to WOFF2)
  • Cached conversion results for better performance
  • Dark/light theme toggle
  • Fast, concurrent font processing with progress feedback
  • Real-time font search and filtering
  • Customizable grid layout (1-4 columns)
  • Alphabetical sorting (A-Z, Z-A)
  • Batch download all fonts (or filtered selection) as a ZIP file
  • Virtual scrolling for handling large font collections (5000+ fonts)
  • Paginated loading with infinite scroll

Prerequisites

Before installing the application, ensure you have:

Installation

Option 1 Download the pre-built Binary files from Releases

# You will need to make the binary executable on macOS and Linux:

# Linux
chmod +x fontlook-linux-amd64
./fontlook-linux-amd64

# macOS
chmod +x fontlook-darwin-amd64
./fontlook-darwin-amd64

# Windows just open run the executable
fontlook-windows-amd64.exe

Option 2 Clone and Build

  • Clone the repository:
git clone https://github.com/bradsec/fontlook.git
cd fontlook
  • Install dependencies:
go mod tidy
  • Build the application:
go build -o fontlook cmd/server/main.go

Configuration

The application can be configured using environment variables:

Variable Default Description
PORT 8080 HTTP server port
MAX_CONCURRENT 4 Maximum concurrent font processing operations
MAX_FILE_SIZE 52428800 Maximum font file size in bytes (default 50MB)

Running on a Different Port

# Linux/macOS
PORT=3000 ./fontlook

# Windows (Command Prompt)
set PORT=3000 && fontlook.exe

# Windows (PowerShell)
$env:PORT="3000"; .\fontlook.exe

Example with Multiple Options

# Run on port 3000 with 8 concurrent workers
PORT=3000 MAX_CONCURRENT=8 ./fontlook

Notes

  • The application will automatically open in your default web browser
  • You can manually navigate to http://localhost:8080 (or your configured port)
  • The application creates static and logs directories where the executable is launched
  • Font conversions are cached for better performance
  • Directory scans are cached for 30 seconds to improve responsiveness

Acknowledgments

About

A local Go-based web application that helps you discover, preview, and manage fonts on your system.

Topics

Resources

License

Stars

Watchers

Forks