Home Tools Blog About

Extract Unicode Range

In short

Filter text to characters in one or more hex Unicode ranges - Greek, Cyrillic, emoji, CJK presets, multi-range syntax. Free, offline, client-side, instant, secure.

  • Runs in your browser
  • Nothing uploaded
  • Free, no sign-up

Keep only the characters in a hex code-point range - or paste multiple ranges separated by commas (0370-03FF, 1F300-1F9FF). Built-in presets cover the common Unicode blocks: Greek, Cyrillic, Arabic, CJK, Hiragana, all emoji blocks, and more.

- paste text to begin
🛡
100% PrivateNo server uploads, ever
InstantRuns in your browser
💧
No WatermarksClean output, always
🆓
Free ForeverNo accounts, no limits

How to Use Extract Unicode Range

  1. Paste text in the input. Output updates live (200 ms debounce).
  2. Pick a preset - Greek, Cyrillic, Arabic, CJK, Hiragana, all emoji blocks, ASCII letters only, digits only, etc. Selecting a preset fills the range box for you.
  3. Or type ranges by hand. Use hex; the leading U+ is optional. Single ranges: 0370-03FF. Multi-range: 0041-005A, 0061-007A (ASCII letters). Single code points: 41 (just A). Overlapping ranges are auto-merged.
  4. Pick a format. "String" gives just the filtered text. "List" puts each kept character on its own line. "Detailed" adds the U+ code point to each entry. "JSON" gives an array of {char, codePoint, decimal} objects.
  5. Toggle Invert if you want everything except the range - useful for stripping a known script out of mixed text.
  6. Read the stats line. Kept and dropped counts; how many ranges you specified; and the total number of code points those ranges cover.
  7. Copy or download. Ctrl/Cmd + Enter copies. Download saves extracted-range.txt or extracted-range.json based on format.

Frequently Asked Questions

What is a Unicode code-point range?

A contiguous block of integer-valued character IDs (e.g. 0370-03FF covers every Greek and Coptic character). Unicode is organised into named blocks like this. The tool keeps any character whose code point falls in any range you specify.

How do I specify multiple ranges?

Comma-separated. 0041-005A, 0061-007A keeps both upper- and lower-case ASCII letters. 1F300-1F5FF, 1F600-1F64F, 1F680-1F6FF keeps the three main emoji blocks. Whitespace around commas and dashes is ignored. Each range can be a single code point (41) or a range (0041-005A). Overlapping ranges are merged.

What presets are built in?

Twenty-two named Unicode blocks and useful subsets: Basic Latin, Latin-1 Supplement, Latin Extended-A, Greek and Coptic, Cyrillic, Hebrew, Arabic, Devanagari, CJK Unified Ideographs, Hiragana, Katakana, Hangul Syllables, Emoticons, Misc Symbols & Pictographs, Transport & Map, Supplemental Symbols, Regional Indicators, an “all emoji blocks” mega-preset, ASCII printable, digits only, and ASCII letters only. Pick one to fill the range box, then edit if needed.

What does Invert mode do?

Flips the filter: characters NOT in any of the specified ranges are kept; matching characters are dropped. Useful for “remove all emoji” (invert with the all-emoji-blocks preset) or “strip Greek letters from this document” (invert with the Greek preset).

How does the tool handle multi-byte characters?

It iterates by Unicode code point (using for…of), not by JavaScript UTF-16 code unit. So emoji (which span two code units / one code point) and other astral-plane characters are tested as single units and won’t be split. The stats line shows the total code-point count, not the JavaScript string.length value.

Why use hexadecimal notation?

Unicode officially uses hex code points (e.g. U+0041). Every reference table, every standard, and every search you’ll do uses hex. The tool tolerates a leading U+ in case you paste from a chart. Decimal isn’t supported on purpose – it’s confusing and not idiomatic for Unicode work.

What’s the maximum text size?

The filter is O(input length × range count) where range count is usually ≤ 5. Hundreds of thousands of characters finish instantly. Millions of characters might briefly pause the page; the 200 ms input debounce keeps live typing smooth even at that scale.

Is my data uploaded?

No. The page loads three static files (HTML, CSS, JS) and then runs entirely in your browser. Your text never leaves the device – no fetch, no XHR, no analytics, no cookies. You can disconnect from the internet after the page loads and the tool still works.

Is this tool free?

Yes – free, unlimited, no signup, no watermark. The extracted text is yours to use anywhere. Attribution to is appreciated but not required.

Keep going

Related Tools

All Unicode tools →

Extract Unicode Graphemes

Segment text into grapheme clusters via Intl.Segmenter - shows every code point per grapheme…

Center Unicode Text

Center Unicode text within a fixed width, with real grapheme counting for emoji and…

Check Spoofed Unicode Text

Detect Unicode confusables and homoglyphs from Cyrillic, Greek, Armenian, and Hebrew that imitate Latin…

Chunkify Unicode Text

Split Unicode text into equal chunks with grapheme, code-point, or UTF-16 modes. Keeps emoji…

ASCII to Unicode Converter

ASCII to Unicode & Decode decimal, hex, octal, or U+XXXX values to Unicode characters…

Convert Code Points to Unicode

Convert Code Points to Unicode (U+XXXX, hex, decimal) to characters - handles emoji, CJK,…

Convert Unicode to ASCII

Convert Unicode to ASCII with transliteration (é → e, ñ → n), replace, or…

Convert Unicode to Base64

Encode Unicode text to Base64 (and decode) with standard, URL-safe, MIME variants. UTF-8 proper.…

Convert Unicode to Binary

Convert Unicode to binary in 3 modes (UTF-8, codepoint, UTF-16). Per-character breakdown. Free, offline,…

Convert Unicode to Bytes

Convert Unicode to UTF-8 bytes in hex, decimal, or binary. Per-byte grid, reverse direction.…

Convert Unicode to Code Points

Convert Unicode to code points (U+XXXX, HTML/CSS/JS escapes) and back. Per-character breakdown. Free, offline,…

Convert Unicode to Data URL

Convert Unicode to data URLs with base64 or URL-encoding, 12 MIME types, charset toggle.…

Share

Embed this tool

Add this free tool to your website. Copy and paste the code: