Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Idraaak Arabic List Fixer

IdraaakIdraaak19 downloads

Preview and convert Arabic-Indic numbered list markers into native Markdown without changing item text.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

Preview Arabic-Indic numbered list markers and convert them into native Markdown lists. Useful when copied Arabic or Persian instructions arrive as plain paragraphs instead of a list.

Before                     After
١) افتح الإعدادات           1. افتح الإعدادات
٢) اختر الشبكة             2. اختر الشبكة

The plugin changes only a line's numbered marker. The item text, body digits, links, wikilinks, inline code and line endings stay as written. Every change requires a preview and an explicit Apply fixes action. It does not run automatically on paste, startup or save.

Use

  1. Open a Markdown note in editing mode.
  2. Select the relevant text, then run Idraaak Arabic List Fixer: Preview Arabic list fixes in selection from the command palette. Alternatively, use Preview Arabic list fixes in current note.
  3. Review the before/after lines. By default, only adjacent consecutive numbered items (or repeated ١ items), with optional blank lines between them, are proposed.
  4. If needed, enable Include isolated or nonconsecutive numbered lines. Check these lines carefully: a numbered line can be a year or ordinary prose.
  5. Choose Apply fixes, or Cancel. The editor's Undo command reverts an applied conversion.

If you edit the note while a preview is open, the plugin refuses to apply the stale plan. Close the preview and run the command again.

The interface follows Obsidian's language: Arabic for Arabic app locales, otherwise English. You can use the plugin on Arabic and Persian text with either interface language.

Supported markers

  • Arabic-Indic digits ٠١٢٣٤٥٦٧٨٩ and Eastern Arabic-Indic/Persian digits ۰۱۲۳۴۵۶۷۸۹.
  • Markers such as ١., ١), (١), ۱. and (۱), followed by whitespace and nonempty item text.
  • Zero to nine-digit marker values. Leading zeros are normalized; values are preserved, not renumbered.
  • Up to three spaces of indentation and blockquote prefixes such as > ١).
  • Native output uses Latin digits followed by a dot, for example 1. , because these are Markdown list markers. Arabic digits inside the item body are not converted.

The two command scopes use the entire note to detect protected regions, even when the selection begins inside a code fence. A selection changes only marker substrings wholly inside its range.

Conservative exclusions and limits

The plugin skips fenced code, four-space or tab-indented code, leading YAML frontmatter, block math delimited with $$, HTML comments and raw HTML blocks. An unclosed protected block conservatively protects the rest of the note. Lines that already start with a direction-control character are left alone; the plugin does not insert or remove invisible direction marks.

This is a conservative marker converter, not a complete Markdown formatter. Deeply indented nested lists, lists interrupted by continuation paragraphs, HTML with unusual nesting, custom Markdown syntax and isolated lines may need manual review. The optional isolated-line switch cannot make every numbered sentence a reliable list item. Existing Latin list markers are left unchanged. Multi-range selections are not supported.

Previews are limited to notes of 1,000,000 UTF-16 code units and at most 300 changes. For larger input, split the note or select a smaller section; the note-size limit applies to the whole open note.

Install

Until an official Community directory listing is approved, install manually in a test vault:

  1. Download main.js, manifest.json and styles.css from a GitHub release.
  2. Place them in <vault>/.obsidian/plugins/idraaak-arabic-list-fixer/.
  3. In Obsidian, enable community plugins, then enable Idraaak Arabic List Fixer.

Requires Obsidian 1.14.5 or later. Compatibility claims and actual tested platforms are listed in VALIDATION.md. The source avoids Node.js and Electron APIs and is designed for desktop and mobile, but mobile must not be treated as tested unless that validation file says so.

Privacy

Free and local. The plugin makes no network requests, has no telemetry, does not read the system clipboard, does not scan the vault or access files outside it, and requires no account, API key or paid service. It reads the current editor text when a command is invoked and changes only the previewed markers after confirmation. Installing the app/plugin or downloading updates from GitHub may involve the app's normal network traffic; that is separate from this plugin's processing.

Development

npm ci --ignore-scripts
npm test
npm run lint
npm run build

Runtime dependency: Obsidian's public plugin API. Build and test tools are development dependencies only. The output is unminified and can be rebuilt from the committed source and lockfile. No third-party plugin implementation was copied or forked. AI assistance was used for implementation, documentation and test preparation; see the validation record for what was actually checked.

Publisher and support

Published by Idraaak. This is an independent community project and is not an official Obsidian product.

Report reproducible problems through this repository's Issues, using a small non-sensitive Markdown sample and your app/plugin versions. Do not attach private notes or credentials.

MIT license. See LICENSE.

HealthExcellent
ReviewPassed
About
Convert Arabic-Indic and Persian numbered list markers such as ١), ۲. and (٣) into Markdown list markers such as 1. Run a command for selected text or the current note, review the before-and-after preview, then apply or cancel. By default, only consecutive groups are included; isolated lines require an explicit option. The plugin changes marker text rather than renumbering items and preserves item text, body digits and URLs. It conservatively skips frontmatter, code, math and HTML regions, and refuses to apply a preview if the note has changed. Arabic and English interface. Processing stays in the editor with no network requests, telemetry or background vault scan.
MarkdownFormatting
Details
Current version
0.1.0
Last updated
2 weeks ago
Created
2 weeks ago
Updates
1 release
Downloads
19
Compatible with
Obsidian 1.14.5+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
IdraaakIdraaakidraaak
idraaak.com/
GitHubnedal-dev
  1. Community
  2. Plugins
  3. Markdown
  4. Idraaak Arabic List Fixer

Related plugins

Text Format

Format selected text upper/lower/capitalize.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Image Captions

Add captions to images with inline Markdown and link support. The caption format is compatible with the Commonmark spec and other Markdown applications.

PanGu

Add spaces between Chinese characters and English alphabet. A boon for typographically compulsive people.

Blur

Create obfuscated blocks of text.

Format with Prettier

Format files in your vault using Prettier.

Columns

Create columns in Markdown.

rumdl

Lint markdown files with rumdl - a fast markdown linter.

Admonition

Admonition block-styled content.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.