Zum Inhalt springen
🛠️ToolsShed

Typography Unit Converter

Konvertiere Typografie-Einheiten: pt, px, em, rem, pica und mehr mit DPI-Einstellungen.

EinheitUmgewandelter Wert
px16
pt12
em1
rem1
pica1
mm4.2333
cm0.42333
in0.16667
ex2
ch2

Häufig verwendete Referenzwerte

12pt = 16px @ 96dpi1in = 96px @ 96dpi1pica = 16.0px1rem = 16px1em = 16px72pt = 1in

Über dieses Tool

Typographische Einheiten bilden die Grundlage des digitalen und gedruckten Designs, aber die Umrechnung zwischen ihnen—Punkte, Pixel, em, rem, Picas und mehr—kann mühsam und fehleranfällig sein. Ob Sie ein Designer sind, der Druckspezifikationen in Webdesigns übersetzt, ein Entwickler, der Schriftgrößen in verschiedenen Rendering-Kontexten anpasst, oder ein Content-Creator, der Dokumente auf mehreren Plattformen verwaltet: Genauigkeit ist unerlässlich. Dieser Konverter beseitigt Unsicherheiten, indem er jede typographische Einheit sofort in eine andere umrechnet und dabei DPI-Einstellungen berücksichtigt, die Pixel-zu-Punkt-Umwandlungen erheblich beeinflussen.

Um das Tool zu nutzen, wählen Sie einfach Ihre Quell- und Zieleinheiten in den Dropdown-Menüs aus, geben Sie den Wert ein, den Sie konvertieren möchten, und passen Sie optional die DPI-Einstellung an, wenn Sie mit bestimmten Ausgabemedien arbeiten. Der Konverter verarbeitet relative Einheiten wie em und rem, die sich nach den Schriftgrößen des übergeordneten oder Root-Elements skalieren, sowie absolute Einheiten wie Punkte und Pixel. Beispielsweise ergibt die Umrechnung von 16 Pixeln in rem (bei Annahme einer 16px-Basis) 1rem, was beim Erstellen reaktionsschneller Webdesigns hilfreich ist, die sich anmutig über Geräte hinweg skalieren.

Häufig gestellte Fragen

Code-Implementierung

def typography_converter(value: float, from_unit: str, to_unit: str,
                           dpi: float = 96, base_font_px: float = 16) -> float:
    """Convert between typography units. Returns converted value."""
    # Convert to px first
    to_px = {
        'px':   lambda v: v,
        'pt':   lambda v: v * dpi / 72,
        'pc':   lambda v: v * dpi / 6,
        'em':   lambda v: v * base_font_px,
        'rem':  lambda v: v * base_font_px,
        'mm':   lambda v: v * dpi / 25.4,
        'cm':   lambda v: v * dpi / 2.54,
        'in':   lambda v: v * dpi,
        'ex':   lambda v: v * base_font_px * 0.5,
        'ch':   lambda v: v * base_font_px * 0.5,
    }
    from_px = {
        'px':   lambda v: v,
        'pt':   lambda v: v * 72 / dpi,
        'pc':   lambda v: v * 6 / dpi,
        'em':   lambda v: v / base_font_px,
        'rem':  lambda v: v / base_font_px,
        'mm':   lambda v: v * 25.4 / dpi,
        'cm':   lambda v: v * 2.54 / dpi,
        'in':   lambda v: v / dpi,
        'ex':   lambda v: v / (base_font_px * 0.5),
        'ch':   lambda v: v / (base_font_px * 0.5),
    }
    px = to_px[from_unit](value)
    return from_px[to_unit](px)

# Examples
print(f"16px = {typography_converter(16, 'px', 'pt'):.4f}pt at 96dpi")
print(f"1em = {typography_converter(1, 'em', 'px'):.4f}px at base 16px")
print(f"12pt = {typography_converter(12, 'pt', 'px'):.4f}px at 96dpi")
print(f"1in = {typography_converter(1, 'in', 'pt'):.4f}pt")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.