Skip to main content

Röntgen

Röntgen is a set of monochrome 14 × 14 px pixel-aligned icons. All icons are under the CC BY 4.0 license. You can use them freely, but please give the appropriate credit.

Röntgen was created for the Map Machine project to represent different map features from the OpenStreetMap database. However, it can be easily used for any map project or even for non-map-related projects. Some icons can also be used as emoji symbols. Several Röntgen icons are used in iD editor for OpenStreetMap and other projects using icons from the iD tagging schema.

To use the icons, you can

All icons are stored as optimized SVG files. The majority of them contain only one path element with a minimal number of points. File sizes range from 207 bytes to 4 KB, with mean and median sizes of about 1 KB.

Röntgen icons

All icons follow a common design style inspired by Maki, Osmic, and Temaki.

Feel free to request new icons via issues on GitHub.

Installation

npm Package

Röntgen is available as an npm package:

npm install @enzet/roentgen

After installation, you can use SVG files directly:

import treeIcon from '@enzet/roentgen/icons/tree.svg';

Or use them in HTML:

<img src="node_modules/@enzet/roentgen/icons/tree.svg" alt="Tree icon" />

PyPI Package

Röntgen is available as a PyPI package:

pip install roentgen-icons

After installation, you can use the icons in your Python code:

from roentgen import get_roentgen, Roentgen
from svgwrite.path import Path

instance: Roentgen = get_roentgen()

shape: Shape | None = instance.get_shape("tree")
if shape is not None:
    svg_path: Path = shape.get_svg_path()
    path_commands: str = shape.get_path_commands()

Design Principles

Requirements

  • Icons must be monochrome and not depend on color (they can be recolored without losing their meaning).
  • Maximum icon size is 14 × 14 px (equivalent to 16 × 16 px with one pixel padding).
  • Lines must not be thinner than 1 px. Lines should preferably have an integer pixel width (1 px, 2 px, etc.) for clean rendering at target size.

Recommendations

  • Icon parts should be pixel-aligned for better rendering, when possible.
  • Lines should have rounded caps. Line joins and bends should also be rounded where possible, unless sharp corners are essential to the shape.
  • Prefer fewer details: omit elements that do not contribute to immediate recognition at small sizes. A simpler silhouette reads better than a detailed but cluttered one.
  • Use negative space intentionally: cutouts and gaps inside a filled shape can convey detail without adding strokes, keeping the icon clean.

Icon Generation

The icons directory contains generated and optimized SVG icons. Some of the icons are described with iconscript files in the iconscript directory. Others are generated from sketch SVG files in the data directory by Python scripts. This greatly simplifies the process of creating new icons.

To regenerate icons and preview grids, run

python -m roentgen icons

Command-Line Interface

Grid Drawing

Draw an SVG file with an icon grid.

python -m roentgen grid
Option Description
--columns Number of columns in the grid
--filter Regular expression for filtering icons
--new-in Draw only icons new in a given version (e.g. --new-in 0.13.0 or --new-in HEAD)
--output Output SVG file
--scale Icons scale

OpenStreetMap Tags

Röntgen was created for the Map Machine, a rendering engine for OpenStreetMap data, and its primary purpose is to represent tags of objects from the OpenStreetMap database.

The data/tags.json file contains a possible mapping from OpenStreetMap tags to Röntgen icons.

License

All Röntgen icons are licensed under the CC BY 4.0. This means you can use them for any purpose, but please give the appropriate credit, e.g.:

Röntgen icons by Sergey Vartanov (CC BY 4.0)

Metadata

Release files for roentgen-icons 0.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for roentgen-icons 0.16.0
File Size Uploaded Provenance Actions
roentgen_icons-0.16.0.tar.gz 1.3 MB Without provenance Details for roentgen_icons-0.16.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for roentgen-icons 0.16.0
File Interpreter ABI Platform Actions
roentgen_icons-0.16.0-py3-none-any.whl Python 3 none any Details for roentgen_icons-0.16.0-py3-none-any.whl

Total release size: 1.4 MB

Release files / roentgen_icons-0.16.0.tar.gz

Download URL roentgen_icons-0.16.0.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
1a3e1d317605d09daa3c087b200c4bdefb193a396acc541efe1950df37588312
BLAKE2b-256 checksum
How to use checksums
4f366cf9e3874890a273f2d5d3f2d8c17811399d75c6d2dacf8eeb81d69b094d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.15

Release files / roentgen_icons-0.16.0-py3-none-any.whl

Download URL roentgen_icons-0.16.0-py3-none-any.whl
Size 178.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7448a2bf0cc88410837884bdd2032725b84b6b510c2bd4566b15c2d9381aa82
BLAKE2b-256 checksum
How to use checksums
5f88e094f328264fc8ff4c8e3ae1e05b92c063b44383ba12c5445bf8ed5c99bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.15

Security for roentgen-icons 0.16.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page