Docento.app Logo
Docento.app
Office printer on a desk
All Posts

How to Change the Font in a PDF (And Why It Is Harder Than It Sounds)

May 1, 2026·9 min read

If you have ever tried to change the font of a paragraph in a PDF and watched it stubbornly refuse, you have met one of the format's awkward truths: PDFs were not designed for text editing. Fonts in PDFs are embedded glyph subsets, positioned exactly where the original author placed them. Changing a font is not a CSS-style swap. It can be done, but the experience and quality depend heavily on the source file, the tool, and what you are trying to change. This guide walks through what is actually possible.

Three different "change the font" operations

The umbrella term covers very different jobs:

  1. Change the font of a small piece of text. You added a paragraph and want it in a different typeface; or a date in the original needs updating in a different font.
  2. Replace one font throughout the document. Arial is licensed for your company; replace every instance of a different sans-serif with Arial.
  3. Re-typeset the entire document. The PDF should look as if it were re-authored in a different typeface end to end.

Each gets harder. The first is straightforward. The third is impractical.

Why this is harder than in Word

In a Word document, fonts are referenced by name. The word "Heading" with font-family: Calibri is rendered by your machine using whatever Calibri it has installed. Changing the font means changing the name; rendering picks up automatically.

In a PDF, the word "Heading" is a series of explicit glyph references into an embedded font subset. The PDF contains the actual glyphs needed (often only the characters used, "H", "e", "a", "d", "i", "n", "g", not the whole font). To change the font, the editor has to:

  1. Identify the text and its current font
  2. Subset a new font containing the same characters
  3. Re-position the glyphs (different fonts have different metrics)
  4. Re-flow surrounding content if needed
  5. Embed the new font subset

This is a lot. Some tools do it well; most do it adequately for short text; few do it well for whole-document replacement.

Tools that can change fonts

Adobe Acrobat Pro. Tools → Edit PDF → click into a text block → select text → font dropdown in the formatting panel. Works best on PDFs that originated in tools Acrobat understands well (Word, InDesign). Acrobat will warn you if the font you select is not available; it can either install the substitute or use a similar metric font.

Foxit PDF Editor. Edit → click text → change font in the Properties panel. Similar UX to Acrobat. See Acrobat vs Foxit.

PDFelement, Nitro, PDF-XChange. All offer text-level font editing with varying quality.

LibreOffice Draw. Open the PDF as a Draw document, treat each text block as an editable Draw object, change its font. Works for many PDFs; reformats some pretty heavily.

Programmatic. Libraries like iText, PDFKit, pikepdf + low-level content stream editing, and Apache PDFBox can manipulate fonts in content streams. Effective for repetitive replacements (e.g., "swap font X for font Y across 1000 generated PDFs") but not for free-form GUI editing.

Single-paragraph or single-word changes

The most common case. To change the font of a specific selection:

  1. Open the PDF in your editor
  2. Click into the text block
  3. Select the words
  4. Choose a new font from the font dropdown
  5. Save

Limitations:

  • The new font has to be available. If you pick Garamond and the editor cannot find Garamond, it substitutes, sometimes well, sometimes not.
  • Line breaks may shift. A wider replacement font pushes content to a new line. Verify visually.
  • The font appears subsetted in the file. Future readers see your selected font (because the editor embedded it), even if they do not have it installed. Good for portability.

For longer text edits in the same font, see how to edit PDF text without Acrobat.

Document-wide font replacement

This is harder. A few approaches:

Acrobat Pro's Preflight. Tools → Print Production → Preflight → "Convert Fonts" profile. Limited to embedded fonts the preflight engine recognizes. Useful for compliance-driven conversions (e.g., consolidating to a single approved typeface).

Re-author from the source. If the original is a Word document, InDesign file, or LaTeX source, change the font there and re-export. Far cleaner than editing the PDF.

Direct content stream manipulation. pikepdf or PDFBox can find every text-showing operator and replace font references. Requires careful handling of glyph remapping if the new font has different glyph indices. Best for generated PDFs where you know the structure.

Conversion round-trip. PDF → Word → change font → re-export to PDF. Loses formatting fidelity but practical when the source is unavailable.

Replacing a font that is not embedded

Some PDFs reference fonts by name only (the font is not embedded, the reader is expected to have it installed). If you do not have the font, your reader substitutes one with similar metrics. You can sometimes force the embedding of a different font:

  1. Open in Acrobat Pro
  2. Tools → Print Production → Preflight → "Convert fonts to outlines" or "Embed fonts"
  3. Set the replacement font for each missing font in the dialog
  4. Save

The result is a PDF with all fonts embedded, even if not the original choices. Useful for sharing files where you cannot count on the recipient having the right fonts.

Why fonts sometimes look "almost right but not quite"

Common scenarios:

  • Original font is licensed and cannot be embedded. Some commercial fonts forbid embedding. The PDF uses a "metric clone" (similar shapes, similar widths). Your replacement may not match the original perfectly.
  • The PDF uses a custom encoding. Each glyph in the embedded subset has an arbitrary index; the PDF maps Unicode characters to glyph indices via a ToUnicode table. Changing the font requires updating both. Tools that get this wrong produce garbled text.
  • Ligatures and OpenType features. The original may use the ligature; the replacement may not have it. Text content stays correct (the Unicode is fi), but visual rendering changes slightly.
  • Right-to-left or bidirectional text. Arabic, Hebrew, and other scripts have shaping rules. Some PDF editors handle them; many do not.

Searching and replacing across fonts

A practical batch task: "find every instance of Times New Roman in this PDF and change to Source Serif". Approaches:

Programmatic. Open the PDF with pikepdf, iterate over each page's content stream, identify Tf operators (which select a font), replace the font reference. Re-embed the new font subset for each affected page.

Commercial tools. Acrobat Pro and Foxit have a "Find Font" feature: Edit → Find Font (Acrobat) or Document → Find Font (Foxit). Lets you see every font in use and replace some or all instances.

Preflight. Custom Preflight profiles in Acrobat Pro can apply font-replacement rules across a whole document or batch.

For controlled inputs (your own generated PDFs), the programmatic path is most reliable. For one-off third-party PDFs, the GUI is more practical.

Common gotchas

Selected text shows the wrong font name. The PDF may have multiple text blocks at the same visual position. You may have selected the wrong block. Use the Edit PDF panel's object selection to identify which is which.

Font dropdown shows fonts you do not have. Acrobat lists the fonts embedded in the file plus installed system fonts. Picking an embedded font from another section of the same file works. Picking a system font you do not have substitutes silently.

Content shifts after font change. Different fonts have different metrics. Lines re-wrap, page breaks shift. For multi-line text changes, re-check the layout.

Form field text. Interactive form fields use their own font setting (the field's /DA default appearance). Changing the form field font requires editing the field properties, not the page content. See PDF form field types explained.

Tagged PDF reading order. Changes to text content may affect the tag tree. Re-run an accessibility check after font edits. See PDF/UA accessibility standard explained.

Print fidelity. A document that looks fine on screen with the new font may print differently. Test print before committing to a wide release.

What about converting fonts to outlines?

A nuclear option: convert all text to vector paths (outlines). The result is no longer "text", it is shapes that visually resemble text. Pros:

  • Identical rendering on every machine, regardless of installed fonts
  • No font licensing concerns

Cons:

  • Cannot be searched
  • Cannot be copied
  • Larger file size
  • Bad for accessibility (no Unicode tags, no screen reader support)

Use this only for cases where rendering fidelity beats everything else, typically large-format print where any font substitution would be unacceptable. Tools: Acrobat's "Flatten" preflight, Ghostscript's -dNoOutputFonts, Inkscape's "Object to Path" on imported PDFs.

For the broader concept of flattening, see how to flatten a PDF.

Practical recipe

For a one-paragraph font change:

  1. Open the PDF in your editor
  2. Click into the text block
  3. Select the words
  4. Choose the new font from the dropdown
  5. Verify the line break didn't shift content awkwardly
  6. Save as a new file
  7. Open in a different viewer to confirm the new font travels

For document-wide replacement:

  1. If you have the source, change the font in the source and re-export. End of story.
  2. If you do not have the source, use Acrobat Pro's "Find Font" with replace, or write a pikepdf script for batch jobs.

Takeaway

Changing a font in a PDF is possible but never as clean as changing a font in a word processor. Small text-level changes work well; document-wide replacement is achievable with the right tools; converting to outlines is the nuclear option. The cleanest answer is almost always to change the font in the source document and re-export. Acrobat Pro and Foxit handle the GUI cases. For browser-based small edits without installing software, Docento.app supports text changes including font selection. Always verify the result in a different viewer before sharing, font substitution can be subtle and easy to miss.

Related Posts