מפת היישובים המזכים בהטבת מס הכנסה - an interactive map of every Israeli locality whose residents are eligible for the periphery income-tax credit ("yishuvim mutavim", Section 11 of the Income Tax Ordinance), covering tax years 2016-2026.
Live: https://taxmap.nx1xlab.dev
Part of the NXTools Collection by NX1X.
- All 536 eligible localities on one map, color-coded by credit rate (7%-20%)
- Full benefit history per locality (rate + annual income cap, 2016-2026)
- Search (Hebrew and English names), filters by tax year, sector (Jewish / Arab / Druze / mixed), region, sub-region (Upper & Lower Galilee, Western Galilee, Golan, Gaza Envelope, Western & Eastern Negev, Eilat & Arava, Jordan Valley and more), local authority, and credit rate
- Benefit calculator, side-by-side comparison (with CSV / JSON export), changes-vs-last-year map mode, nearest-locality with a locate button, and a data & trends view
- Sharing (WhatsApp / Telegram / X / copy) for the whole site and per locality;
per-locality permalinks (
/yishuv/<slug>) - Hebrew (RTL) and English (LTR) interface, light and dark themes
- Accessibility: WCAG 2.1 AA-oriented - keyboard navigation, screen-reader support, accessibility menu (text size, high contrast, reduced motion, underlined links), full text list alongside the map
- Shareable URLs - filters and language are reflected in query parameters
An offline data pipeline turns the Tax Authority booklets into
localities.json, which is committed to the repo. On push to main, Vercel
runs the Vite build (with per-locality prerendering) and deploys the static
SPA, with one Vercel Function (api/version.mjs) serving the version check.
Editable source: design/architecture.drawio.
Note: the architecture diagram still shows the former Cloudflare Workers
deployment and needs a redraw.
Source of truth is the Israel Tax Authority's annual deduction booklets
(data-sources/data-after-filter/tax-map-<year>.pdf), joined with the CBS
locality registry:
data-sources/data-after-filter/tax-map-*.pdf
│ scripts/extract_pdf.py (pdftotext + table parsing, 2016-2026)
▼
data/raw/<year>.json {name, code, rate, cap}
│ scripts/build_data.py (join with the newest data/cbs/bycode*.xlsx,
│ ITM→WGS84 via pyproj, sector/sub-region,
▼ manual overrides in data/overrides.json)
public/data/localities.json one record per locality, benefits keyed by year
Rebuild the dataset (requires the pdftotext binary from poppler-utils):
pip install --require-hashes -r scripts/requirements.txt
npm run dataNotes baked into the data:
- 2023 amendment-256 localities (Tiberias, Akko, Sakhnin, Tamra and other
Galilee localities) carry the mid-year rate change as an
altentry. - Eilat is included with its separate benefit under the Eilat Free Trade Zone Law (10%, income produced in the Eilat region only).
- Newly founded localities missing from the CBS file (Ramat Trump, Aduraim,
Yonadav, Kedem Arava, Bitron) are geocoded via OSM/Wikipedia in
data/overrides.json.
npm install
npm run dev # local dev server
npm run build # production build to dist/
npm run preview # serve the production buildStack: Vite, vanilla JS, Leaflet. Basemaps: Israel Hiking Map (Hebrew) and CARTO Voyager (English). No backend - the site is fully static.
The site is fully static and is deployed on Vercel, connected to this repo's
main branch: every push builds and deploys automatically, with a preview
deployment for each pull request. Build command npm run build, output
directory dist. Requires Node 22 (see .nvmrc; Vercel reads the pinned
version from engines.node in package.json instead).
Security headers, caching and the SPA routing fallback are configured in
vercel.json.
Privacy-friendly, cookieless, and served from /_vercel/insights/script.js
so the CSP stays at 'self' with no third-party origin.
Found a mistake in the data? Open a
data error issue or use
the contact form. See
CONTRIBUTING.md for development setup. The source PDFs are
available in data-sources/.
- Israel Tax Authority deduction booklets - eligible-locality lists
- CBS locality file - names, codes, districts, population, coordinates
- Kol Zchut - eligibility conditions
- OpenStreetMap contributors and CARTO - base maps
This site is an independent reference tool, not tax advice, and is not affiliated with any government body. The binding text is the Tax Authority's publications.
Code licensed under the Apache License 2.0.
