Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Char Counter

No security coverage Drupal 10–11
View on drupal.org

This module adds a live character counter to specified textarea fields on your site. It displays a real-time count below the text area as users type, helping them stay within character limits.

Character Counter adds a live, in-place character count under any textarea
field you choose — no theme changes, no per-content-type code. Pick the
fields from a single admin screen, optionally set a character limit per
field, and the count appears immediately below the field on every form where
it's edited: content, comments, custom blocks, and anything else built on
Drupal's Field API.

It works the same way whether the field uses a plain textarea or a
CKEditor-powered text format — the count reflects what the editor actually
shows, not just the underlying raw value.

Features

  • Pick exactly which fields get a counter.
    One settings page lists every eligible textarea field across every entity
    type and bundle; turn each one on or off with a checkbox. A field shared
    across several content types (e.g. a "Body" field used by both Article and
    Page) is a single entry — configure it once.
  • Works with plain textareas and CKEditor alike.
    Counts update live as you type in either case, without any extra
    configuration.
  • Optional per-field character limits.
    Leave a field's limit blank for a plain, unlimited count
    ("128 characters"), or set a maximum to switch it to "used / limit"
    ("128 / 150 characters"), with the counter visually highlighted once the
    limit is exceeded.
  • Never blocks or truncates content.
    A limit here is a visual guide for editors, not a hard validation rule —
    going over it doesn't stop the field from saving, and nothing is ever cut
    short automatically.
  • Accessible by design.
    The counter is linked to its field via
    aria-describedby so screen reader users can find it on demand,
    and crossing a configured limit is announced once — not on every keystroke
    while still over it, which would be far too chatty for anyone using
    assistive technology.
  • Lightweight.
    One small, dependency-free JavaScript behavior and a small stylesheet;
    nothing is loaded on any page unless at least one field is actually
    configured.

Supported field types

  • Text (plain, long)
    string_long
  • Text (formatted, long)
    text_long
  • Text (formatted, long, with summary)
    text_with_summary


    The counter applies to the main body text; the separate summary sub-field
    is left alone, since it's a distinct field with its own, usually much
    shorter, appropriate length.

Use cases

  • Give content editors a live sense of length against an SEO-friendly meta
    description, a card/teaser summary, or any other field with an informal
    "should stay around this long" guideline — without a hard character-limit
    validation rule that would block them from saving.
  • Surface length awareness on comment or custom block bodies where a formal
    field-level constraint isn't appropriate, but editors still benefit from
    seeing the count as they type.
  • Add a lightweight, no-code length indicator to any existing textarea field
    without writing a custom form alter, theme preprocess, or JavaScript.

Requirements

Drupal core only — Field and Text, both
part of any standard installation. No contributed module dependencies.

Installation

Install as you would normally install a contributed Drupal module.
See

Installing Modules

for detailed instructions.

Configuration

Configure at
Administration » Configuration » Content » Character
Counter settings

(/admin/config/content/char-counter).
Access is controlled by the core
Administer site configuration permission; this module
doesn't define a permission of its own.

Maintainers

Chaitanya Rajendra Dessai
(
https://www.drupal.org/u/chaitanyadessai
)

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Feb 2026
Latest release
2 weeks ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.1 Stable 10–11 Aug 17, 2026
1.0.0 Stable 10–11 Feb 15, 2026