@meridian-aprs/symbols
v1.0.0
Published
APRS symbol icon set for Meridian APRS and the broader APRS community
Downloads
21
Maintainers
Readme
meridian-aprs-symbols
A modern, open APRS symbol icon set for the amateur radio community.
Built for Meridian APRS and designed to be useful for any APRS application — mobile, web, or desktop.
About
APRS (Automatic Packet Reporting System) defines a standard set of symbols used to identify stations, objects, and infrastructure on the map. This project provides a clean, modern SVG icon set covering the full APRS primary and alternate symbol tables, distributed in formats suitable for any platform.
Design goals:
- Recognizable — immediately identifiable at small map sizes
- Modern — clean and contemporary without losing the character of the original symbols
- Consistent — unified style guide across all ~200 symbols
- Flexible — multiple variants for different map densities and use cases
Variants
| Variant | Description | Best for |
|---|---|---|
| flat-badge | White icon on solid color rounded-rect badge | Default — reads well on any map tile |
| flat-nobadge | Colored icon, transparent background | Dense maps where badge overlap is an issue |
Additional variants (shadow, outline, etc.) may be added in future releases. The variant system is designed for easy extension.
Installation
Flutter / Dart
# pubspec.yaml
dependencies:
meridian_aprs_symbols: ^1.0.0import 'package:meridian_aprs_symbols/meridian_aprs_symbols.dart';
// Widget
AprsSymbols.widget('/-', size: 32)
// No-badge variant
AprsSymbols.widget('/-', variant: AprsSymbolVariant.flatNoBadge, size: 32)
// Raw asset path
AprsSymbols.path('/-')JavaScript / npm
npm install @meridian-aprs/symbolsimport symbols from '@meridian-aprs/symbols';
// Reference SVG files directly
// node_modules/@meridian-aprs/symbols/dist/svg/flat-badge/house.svg
// Or use the sprite sheet
// node_modules/@meridian-aprs/symbols/dist/sprite/flat-badge-32.png
// node_modules/@meridian-aprs/symbols/dist/sprite/flat-badge-32.jsonIconify
The full symbol set is available as an Iconify-compatible JSON file, usable with any Iconify-compatible tool (VS Code, Figma plugins, UnoCSS, Astro, etc.):
dist/iconify/meridian-aprs-flat-badge.json
dist/iconify/meridian-aprs-flat-nobadge.jsonDirect download
SVGs, PNGs (16/32/64px), and sprite sheets are available as build artifacts on each GitHub Release.
Symbol Coverage
| Table | Total | Status |
|---|---|---|
| Primary (/) | ~95 symbols | 🚧 In progress |
| Alternate (\) | ~95 symbols | 🚧 In progress |
See SYMBOLS.md for the full index of available symbols mapped to their APRS two-character codes.
Building from Source
Requires Node.js 18+.
git clone https://github.com/meridian-aprs/meridian-aprs-symbols.git
cd meridian-aprs-symbols
npm install
npm run build # Full build — SVG, PNG, sprite sheets, Iconify JSON, Flutter assets
npm run build:svg # Optimized SVGs only
npm run build:png # PNGs at 16/32/64px
npm run build:sprite # Sprite sheets + JSON indexes
npm run build:iconify # Iconify-compatible JSON
npm run build:flutter # Sync assets into Flutter package
npm run clean # Remove dist/Build output lands in dist/. See STYLE_GUIDE.md for the source SVG format and contribution conventions.
Contributing
Contributions are welcome — new symbols, corrections, and improvements to existing icons.
Before contributing a new symbol, please read STYLE_GUIDE.md. Consistency across the set is the top priority.
Adding a symbol:
- Add the SVG to
src/primary/orsrc/alternate/following the style guide - Add the symbol entry to
symbols.json - Run
npm run buildand verify the output looks correct at 16px, 32px, and 64px - Open a pull request
License
Attribution: APRS Symbols by Meridian APRS
You are free to use, share, and adapt this icon set for any purpose — including commercial use — as long as you provide attribution.
Related
- Meridian APRS — the open-source APRS client this icon set was built for
- aprs.org — APRS protocol reference and symbol tables
- aprs.fi — APRS network map (reference for symbol recognizability)
