Elementor Custom Fonts Not Displaying: Causes and How to Fix It
Quick Answer: Restoring Elementor Custom Fonts on the Frontend
When custom fonts render in the Elementor editor but fail on the live website, the root cause is typically a Cross-Origin Resource Sharing (CORS) restriction, an HTTP/HTTPS mixed content protocol mismatch, missing font file assets, or stale generated CSS files. In imported site templates, custom fonts must also be re-registered manually because binary font assets do not transfer automatically with template files.

Published by TechCorner HQ Editorial Desk. Technical references reviewed against current official documentation on September 10, 2026. How we review technical content.
To fix font rendering issues:
- Clear Elementor CSS Files: Go to WP Admin > Elementor > Tools (or Elementor > Editor > Tools) and click Clear Files & Data.
- Verify Site Protocols: Ensure WordPress Address (URL) and Site Address (URL) under Settings > General both begin with
https://. - Re-upload Insecure Font Files: In Elementor > Custom Fonts (or Elementor > Editor > Custom Fonts), remove any font URLs starting with
http://and upload them again over HTTPS. - Check Server CORS Headers: If your browser console shows a CORS error, ask your hosting provider to configure appropriate cross-origin access headers on the server.
- Purge Caches: Clear your WordPress caching plugin, server-side caching, and local browser cache before testing.
Primary Causes of Custom Font Display Failures
When custom typography fails to render on public pages, Elementor and web browsers typically report one of the following underlying conditions:
- Mixed Content Blocks: If fonts were uploaded when the site was on HTTP, Elementor stores
http://references in its CSS definitions. When the site loads over HTTPS, modern browsers block insecure HTTP font assets as mixed content. - CORS Policy Violations: After domain changes, site migrations, or when serving assets from different subdomains or CDNs, browsers block cross-origin
@font-facedownloads unless the server supplies validAccess-Control-Allow-Originheaders. - Stale Static CSS Caches: Elementor compiles static CSS files containing font URLs. Changing a site address without clearing these files leaves outdated font paths active on live pages. Similar caching mismatches can affect styling across the site, as outlined in our guide on Elementor changes not showing on live site.
- Imported Templates Without Font Files: When importing Elementor kits or page templates, font styling rules may import, but binary font files are not automatically added to the target site.
- Missing Files on the Server: If font files are deleted from
/wp-content/uploads/elementor/fonts/or have improper server permissions, the browser cannot retrieve them.
Diagnostic Steps: Inspecting Browser Network and Console
Before modifying server files or database URLs, identify the specific failure reason using your browser Developer Tools:
- Open your live webpage in a private browsing window.
- Right-click anywhere on the page and select Inspect.
- Click the Console tab and look for red error messages. If you see Access to font at [...] has been blocked by CORS policy, you have a cross-origin header issue. If you see Mixed Content warnings, your font files are being requested over HTTP.
- Click the Network tab and filter by Font (or Doc/Fetch/XHR).
- Reload the page to check the HTTP status codes: a
404 Not Foundindicates a missing file or incorrect path, while a403 Forbiddenindicates server file permission issues.
Step-by-Step Fixes
Step 1: Check WordPress Address Settings
Ensure your site configuration enforces HTTPS throughout your installation.
- In WP Admin, navigate to Settings > General.
- Confirm that both WordPress Address (URL) and Site Address (URL) match exactly and start with
https://.
Warning: Changing these URL settings when an SSL certificate is not properly installed or configured can make the WordPress Admin dashboard inaccessible. Confirm SSL validity before saving URL changes.
Step 2: Re-Upload Custom Font Files Over HTTPS
If font entries still point to old HTTP addresses, remove and re-add the static font files.
- Navigate to Elementor > Custom Fonts (or Elementor > Editor > Custom Fonts).
- Select your custom font family and review the registered font file paths.
- If any file URLs begin with
http://, click DELETE next to the affected font variation. - Click Add Static Font (or Add Font Variation) and upload the font file (such as WOFF2, WOFF, or TTF) directly while accessing the dashboard via HTTPS.
- Ensure you upload the correct font weights and styles corresponding to your design.
- Click Publish or Update.
Step 3: Clear Elementor Files and Data
Force Elementor to regenerate its static stylesheets with updated URLs:
- Navigate to Elementor > Tools (or Elementor > Editor > Tools) in your WordPress Admin.
- Under the General tab, locate Clear Files & Data (or Regenerate CSS & Data).
- Click the button, then click Save Changes.
- Purge any active WordPress caching plugins and server-level caches.
Step 4: Re-register Fonts for Imported Templates
Template imports do not automatically import custom font binary assets into your WordPress Media Library. If text inside an imported template reverts to fallback typography:
- Navigate to Elementor > Custom Fonts (or Elementor > Editor > Custom Elements > Custom Fonts) and click Add New Font.
- Enter the exact family name specified by the imported template.
- Click Add Static Font, upload your font file, and set the corresponding weight and style.
- Click Publish.
- Open the page in the Elementor Editor, select the text element, and ensure the font family is assigned under Style > Typography.
Step 5: Verify Server File Storage and Permissions
Elementor stores font assets on the server. If custom or locally served fonts fail to load, verify the file system:
- Check your server directory at
/wp-content/uploads/elementor/fonts/. - Ensure the required font files (such as
.woff2or.woff) exist in this directory and correspond to the weights and styles defined in Elementor. - Verify with your hosting provider that standard read permissions are applied to
wp-content/uploads/and its subdirectories.
Verification
To confirm that your custom fonts are loading properly for live visitors:
- Clear your local browser cache or open a new incognito/private browser window.
- Navigate to the live page and verify the typography displays with the correct weight and style.
- Open Developer Tools > Network tab, filter by Font, and reload. Confirm all font files return a
200 OKresponse. - Check the Console tab to verify that no CORS policy or mixed content warnings remain.