Title: Custom Digits for Elementor Counter
Author: Tarek Nabil
Published: <strong>October 30, 2026</strong>
Last modified: October 30, 2026

---

Search plugins

![](https://ps.w.org/custom-digits-for-elementor-counter/assets/banner-772x250.png?
rev=3775998)

![](https://ps.w.org/custom-digits-for-elementor-counter/assets/icon-256x256.gif?
rev=3775998)

# Custom Digits for Elementor Counter

 By [Tarek Nabil](https://profiles.wordpress.org/teka34/)

[Download](https://downloads.wordpress.org/plugin/custom-digits-for-elementor-counter.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/custom-digits-for-elementor-counter/#description)
 * [Reviews](https://wordpress.org/plugins/custom-digits-for-elementor-counter/#reviews)
 *  [Installation](https://wordpress.org/plugins/custom-digits-for-elementor-counter/#installation)
 * [Development](https://wordpress.org/plugins/custom-digits-for-elementor-counter/#developers)

 [Support](https://wordpress.org/support/plugin/custom-digits-for-elementor-counter/)

## Description

Elementor’s Counter widget always counts in Latin numerals — 1, 2, 3. This plugin
adds a **Custom Digits** field to that widget so you can supply your own ten characters
and have the counter display and animate with those instead.

It does not add a new widget. It extends the Counter widget you already use, so 
your existing layout, styling and animation settings are untouched.

#### Use your own numerals

Enter ten comma-separated characters, in order from zero to nine:

 * Arabic-Indic — `٠,١,٢,٣,٤,٥,٦,٧,٨,٩`
 * Eastern Arabic-Indic — `۰,۱,۲,۳,۴,۵,۶,۷,۸,۹`
 * Devanagari — `०,१,२,३,४,५,६,७,८,९`
 * Bengali — `০,১,২,৩,৪,৫,৬,৭,৮,৯`
 * Or any ten characters you like

#### No flash of Latin digits

The substitution happens in PHP while the page is rendered, so the counter’s very
first paint already shows your characters. Visitors never see Latin numerals flick
over to something else on load.

#### The animation is converted too

Elementor rewrites the counter’s text on every frame of its count-up animation. 
This plugin watches the element and re-applies your digit set as those frames run,
so the counter stays in your numeral system for the whole count, not just at the
final value.

#### Validation while you type

The field accepts exactly ten single characters separated by commas. Anything else—
too few entries, too many, or an entry longer than one character — is rejected as
a whole rather than half-applied. The field is outlined in red in the editor the
moment the value stops being valid, and the same rule is enforced again on the server
when the page renders.

#### Safe by default

Leave the field empty and nothing changes. Counters render exactly as Elementor 
renders them, and no conversion code runs.

#### Translation plugins

Each counter keeps its own digit set, saved with the rest of its settings, so every
language can show its own digits — Latin on the English page, Arabic-Indic on the
Arabic one. Polylang and Loco Translate work with this as-is; WPML, TranslatePress
and GTranslate need a few steps.

**Polylang** — no setup needed. Every language has its own page, with its own widgets.
Open the translation in Elementor, select the counter and enter that language’s 
digit set in its Custom Digits field.

**Loco Translate** — no setup needed. Loco Translate translates theme and plugin
text, not page content, so each page has a single version. Enter the digit set once
in the counter’s Custom Digits field, and every visitor sees it.

**WPML** — requires WPML Multilingual CMS and WPML String Translation. WPML only
translates Elementor widgets while String Translation is active.

 1. Fill in the Custom Digits field on the original page, even if that language uses
    Latin digits. WPML only sends fields that have a value, so an empty field never
    reaches the translation editor. For Latin digits, enter `0,1,2,3,4,5,6,7,8,9` —
    the counter looks exactly as it did before.
 2. Translate the page. The value appears as **Counter: Custom Digits**. In the Classic
    Translation Editor it is listed with the counter’s other fields, like any other
    text. The Advanced Translation Editor hides it by default, because it treats content
    made only of numbers and punctuation as not needing translation — search for the
    value in the editor’s search bar to make it appear.
 3. Enter the target language’s digits, keeping the plain comma between them, for example`
    ٠,١,٢,٣,٤,٥,٦,٧,٨,٩`. A localized comma such as the Arabic `،` is rejected, and
    the counter falls back to Latin digits — worth checking if you use automatic translation.

**TranslatePress**

 1. Fill in the Custom Digits field on the original page, even if that language uses
    Latin digits. A counter with an empty field has no digit set to translate. For 
    Latin digits, enter `0,1,2,3,4,5,6,7,8,9`.
 2. Translate the digit set in TranslatePress’s editor. Open the page with **Translate
    Page**, switch to the target language and select the counter’s digit set: it is
    listed with the page’s other strings, and the counter shows TranslatePress’s pencil
    icon. Enter that language’s digits, keeping the plain comma between them, for example`
    ٠,١,٢,٣,٤,٥,٦,٧,٨,٩`.
 3. View the page in that language. The counter shows the translated digits from the
    first moment and counts up in them.

Counters with the same digit set share one translation, because TranslatePress translates
identical text once. To show different digits on two counters in the same language,
give them different digit sets on the original page. Automatic translation skips
the digit set, since it could replace the plain comma with a localized one, so enter
it by hand.

**GTranslate** — requires the free GTranslate Visual Addon plugin, which stores 
manual translation fixes. GTranslate’s own translation can’t change the counter:
the count-up redraws the number on every frame.

 1. Fill in the Custom Digits field on the original page, even if that language uses
    Latin digits. A counter with an empty field is left alone in every language. For
    Latin digits, enter `0,1,2,3,4,5,6,7,8,9`.
 2. In **GTranslate Visual Addon**, open the language’s tab and use **New translation**:
    set **Original text** to the counter’s digit set, as entered in the field, and **
    Your custom translation** to that language’s digits, keeping the plain comma between
    them, for example `٠,١,٢,٣,٤,٥,٦,٧,٨,٩`.
 3. Switch the page to that language. Once GTranslate has translated the page, the 
    counter changes to the saved set, including the count-up.

Counters with the same digit set share one pair. The free version of the addon allows
10 pairs in one language. Tested with GTranslate’s free widget; its paid plans translate
pages on GTranslate’s servers and have not been tested.

## Installation

 1. Install and activate [Elementor](https://wordpress.org/plugins/elementor/). This
    plugin does nothing without it and will show a notice if it is missing.
 2. Upload the plugin through **Plugins > Add New > Upload Plugin**, or install it 
    from the WordPress.org directory.
 3. Activate **Custom Digits for Elementor Counter** through the **Plugins** screen.
 4. Edit any page with Elementor, select a **Counter** widget, and open the **Custom
    Digits** section in the Content tab.

## FAQ

### Does this add a new widget?

No. It adds a control to Elementor’s existing Counter widget. Your current counters
keep their settings, and you opt in per widget by filling in the Custom Digits field.

### Do I need Elementor Pro?

No. The Counter widget is part of the free Elementor plugin, and that is all this
plugin needs.

### Which numeral systems are supported?

Any of them. The plugin does not ship a fixed list — you type the ten characters
you want, so Arabic-Indic, Eastern Arabic-Indic, Devanagari, Bengali, Thai, Burmese
and anything else all work the same way.

### Can I use characters that are not numbers?

Yes. The field takes any ten single characters, including letters and symbols. Each
one simply replaces the Latin digit at the same position.

### Why is the field outlined in red?

The value is not exactly ten single characters separated by commas. Check that you
have ten entries, that each is one character, and that you have not left a trailing
comma. Spaces around each character are ignored, so `٠, ١, ٢` is fine.

### What happens if the value is invalid?

Nothing is converted. The counter renders with its normal Latin digits rather than
applying a partial or broken digit set.

### Does the thousands separator still work?

Yes. Only the digits themselves are replaced, so separators, prefixes and suffixes
configured on the Counter widget are left exactly as they are.

### What happens to my counters if I deactivate the plugin?

They revert to Latin digits. Nothing else changes — the plugin does not modify your
page content, only the markup produced when a counter is rendered.

### My counter still shows the old digits after I changed them.

Elementor caches rendered widget markup. Saving the page in the editor clears that
cache for the page. The plugin also clears Elementor’s cache automatically whenever
its own version changes.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Custom Digits for Elementor Counter” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Tarek Nabil ](https://profiles.wordpress.org/teka34/)

[Translate “Custom Digits for Elementor Counter” into your language.](https://translate.wordpress.org/projects/wp-plugins/custom-digits-for-elementor-counter)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/custom-digits-for-elementor-counter/),
check out the [SVN repository](https://plugins.svn.wordpress.org/custom-digits-for-elementor-counter/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/custom-digits-for-elementor-counter/)
by [RSS](https://plugins.trac.wordpress.org/log/custom-digits-for-elementor-counter/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Security: Custom digit characters are now HTML-escaped when the counter is rendered,
   so a set such as `<`, `&` or quotes can no longer add markup to the page.
 * New: Translation plugin support. WPML can translate the Custom Digits field, 
   TranslatePress can translate a counter’s digit set, and GTranslate can switch
   it through the GTranslate Visual Addon. See “Translation plugins” in the description.
 * New: The plugin’s own text can be translated (translation template in `languages/`).
 * Fix: Digit sets that reuse Latin digits, such as `9,8,7,6,5,4,3,2,1,0`, now show
   the same number before and during the count-up.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.1.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [arabic](https://wordpress.org/plugins/tags/arabic/)[Counter](https://wordpress.org/plugins/tags/counter/)
   [elementor](https://wordpress.org/plugins/tags/elementor/)[numerals](https://wordpress.org/plugins/tags/numerals/)
   [rtl](https://wordpress.org/plugins/tags/rtl/)
 *  [Advanced View](https://wordpress.org/plugins/custom-digits-for-elementor-counter/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/custom-digits-for-elementor-counter/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/custom-digits-for-elementor-counter/reviews/)

## Contributors

 *   [ Tarek Nabil ](https://profiles.wordpress.org/teka34/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/custom-digits-for-elementor-counter/)