{"id":13426431,"url":"https://github.com/mbloch/mapshaper","last_synced_at":"2026-05-02T07:03:51.865Z","repository":{"id":7025327,"uuid":"8297971","full_name":"mbloch/mapshaper","owner":"mbloch","description":"Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files","archived":false,"fork":false,"pushed_at":"2026-04-24T19:29:54.000Z","size":148549,"stargazers_count":4095,"open_issues_count":144,"forks_count":563,"subscribers_count":122,"default_branch":"master","last_synced_at":"2026-04-24T20:37:26.926Z","etag":null,"topics":["csv","geojson","gis","shapefile","svg","topojson"],"latest_commit_sha":null,"homepage":"http://mapshaper.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbloch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["mbloch"],"ko_fi":"mapshaper"}},"created_at":"2013-02-19T19:49:05.000Z","updated_at":"2026-04-24T18:49:58.000Z","dependencies_parsed_at":"2023-02-10T11:33:00.738Z","dependency_job_id":"2e2b4aaa-d7a6-4960-a09c-2299de2216e4","html_url":"https://github.com/mbloch/mapshaper","commit_stats":{"total_commits":3163,"total_committers":10,"mean_commits":316.3,"dds":0.09294973126778372,"last_synced_commit":"c18936117413f6a90c53e54794a0e27569fd1056"},"previous_names":[],"tags_count":498,"template":false,"template_full_name":null,"purl":"pkg:github/mbloch/mapshaper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbloch%2Fmapshaper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbloch%2Fmapshaper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbloch%2Fmapshaper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbloch%2Fmapshaper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbloch","download_url":"https://codeload.github.com/mbloch/mapshaper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbloch%2Fmapshaper/sbom","scorecard":{"id":496853,"data":{"date":"2025-08-11","repo":{"name":"github.com/mbloch/mapshaper","commit":"62e3a81f35a1c8bab6faab7742d4746bc37a1b99"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 12 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":4,"reason":"6 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T20:38:06.029Z","repository_id":7025327,"created_at":"2025-08-19T20:38:06.030Z","updated_at":"2025-08-19T20:38:06.030Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","geojson","gis","shapefile","svg","topojson"],"created_at":"2024-07-31T00:01:34.378Z","updated_at":"2026-04-28T17:01:10.772Z","avatar_url":"https://github.com/mbloch.png","language":"JavaScript","funding_links":["https://github.com/sponsors/mbloch","https://ko-fi.com/mapshaper"],"categories":["JavaScript","Data conversion tools","gis","Geospatial Library","Javascript frontend frameworks and librairies"],"sub_categories":["JavaScript","Visual data analysis"],"readme":"# Mapshaper\n\n## Introduction\n\nMapshaper is software for editing Shapefile, GeoJSON, [TopoJSON](https://github.com/mbostock/topojson/wiki), CSV and several other data formats, written in JavaScript.\n\nMapshaper supports essential map making tasks like simplifying shapes, editing attribute data, clipping, erasing, dissolving, filtering and more.\n\nSee the [documentation](https://mapshaper.org/docs/) for guides, examples and a complete command reference.\n\nIf you're using an AI assistant or another tool that can read documentation, point it at [`mapshaper.org/llms.txt`](https://mapshaper.org/llms.txt) — an [llms.txt](https://llmstxt.org/) index of every docs page in machine-readable form. Each page is also available as Markdown by appending `.md` to its URL (for example, [`mapshaper.org/docs/essentials/command-line.html.md`](https://mapshaper.org/docs/essentials/command-line.html.md)). The full corpus in a single file is at [`mapshaper.org/llms-full.txt`](https://mapshaper.org/llms-full.txt).\n\nTo suggest improvements, add an [issue](https://github.com/mbloch/mapshaper/issues).\n\n\n## Command line tools\n\nMapshaper includes several command line programs, which can be run under Mac OS X, Linux and Windows.\n\n* `mapshaper` Runs mapshaper commands.\n* `mapshaper-xl` Works the same as `mapshaper`, but runs with more RAM to support larger files.\n* `mapshaper-gui` Runs the mapshaper Web interface locally.\n\nThe docs include an [introduction](https://mapshaper.org/docs/essentials/command-line.html) to using the command line tool that includes many simple examples.\n\nFor a detailed reference, see the [Command Reference](https://mapshaper.org/docs/reference.html).\n\n\n## Interactive web interface\n\nVisit the public website at [www.mapshaper.org](http://www.mapshaper.org) or use the web UI locally via the `mapshaper-gui` script. \n\nAll processing is done in the browser, so your data stays private, even when using the public website.\n\nThe web UI works in recent desktop versions of Chrome, Firefox, Safari and Internet Explorer. Safari before v10.1 and IE before v10 are not supported.\n\n## User-contributed resources\n\n[rmapshaper](https://github.com/ateucher/rmapshaper) is an R package written by Andy Teucher that gives R users access to many of mapshaper's editing commands.\n\n[Here](https://hub.docker.com/r/freifunkhamm/mapshaper) are resources for using mapshaper with Docker, provided by Christian Weiss.\n\nYou can find a number of mapshaper tutorials online, including a [two](https://moriartynaps.org/command-carto-part-one/) [part](https://moriartynaps.org/command-line-carto-two/) guide to command line cartography by Dylan Moriarty and [this introduction](https://handsondataviz.org/mapshaper.html) by Jack Dougherty.\n\n\n## Large file support\n\n**Web interface**\n\nFirefox is able to load Shapefiles and GeoJSON files larger than 1GB. Chrome has improved in recent versions, but is still prone to out-of-memory errors when importing files larger than several hundred megabytes.\n\n**Command line interface**\n\nThere are hard limits for reading and writing most file types. The maximum output size of a single file of any type is 2GB. Some file types (GeoJSON, CSV, .shp, .dbf) are read incrementally, so much larger files can be imported.\n\nWhen working with very large files, mapshaper may become unresponsive or crash with the message \"JavaScript heap out of memory.\"\n\nYou can use `mapshaper-xl` as a replacement for the standard `mapshaper` program to allocate more heap memory (8GB by default). You can allocate even more memory like this: `mapshaper-xl 20gb [commands]`.\n\nAnother option is to run Node directly with the `--max-old-space-size` option. The following example (Mac or Linux) allocates 16GB of heap memory:\n```bash\n$ node  --max-old-space-size=16000 `which mapshaper` \u003cmapshaper commands\u003e\n```\n\n## Installation\n\nMapshaper requires [Node.js](http://nodejs.org).\n\nWith Node installed, you can install the latest release version of mapshaper using npm. Install with the \"-g\" flag to make the executable scripts available systemwide.\n\n```bash\nnpm install -g mapshaper\n```\n\nTo install and run the latest development code from github:\n\n```bash\ngit clone git@github.com:mbloch/mapshaper.git\ncd mapshaper\nnpm install       # install dependencies\nnpm run build     # bundle source code files\nnpm link          # (optional) add global symlinks so scripts are available systemwide\n```\n\n## Using mapshaper with Bun\n\nMapshaper's command line tools can be run with [Bun](https://bun.sh/) as an alternative to Node.js. The simplest option is to use `bunx`, like this:\n\n```\nbunx mapshaper [commands]\n```\n\n## Building and testing\n\nFrom the project directory, run `npm run build` to build both the cli and web UI modules.\n\nRun `npm test` to run mapshaper's tests.\n\n## Supporting mapshaper\n\nMapshaper is free and open source. If it's useful to you or your organization, please consider supporting its continued development:\n\n* [Ko-fi](https://ko-fi.com/mapshaper) \u0026mdash; one-time or recurring contributions, no account required.\n* [GitHub Sponsors](https://github.com/sponsors/mbloch) \u0026mdash; recurring sponsorship.\n\nYou can also help by [reporting bugs](https://github.com/mbloch/mapshaper/issues) or [telling me what you'd like to see improved](https://tally.so/r/44Njok).\n\n\n## License\n\nThis software is licensed under [MPL 2.0](http://www.mozilla.org/MPL/2.0/).\n\nAccording to Mozilla's [FAQ](http://www.mozilla.org/MPL/2.0/FAQ.html), \"The MPL's ‘file-level’ copyleft is designed to encourage contributors to share modifications they make to your code, while still allowing them to combine your code with code under other licenses (open or proprietary) with minimal restrictions.\"\n\n\n\n## Acknowledgements\n\nMy colleagues at The New York Times, for countless suggestions, bug reports and general helpfulness.\n\nMark Harrower, for collaborating on the original \"MapShaper\" program at the University of Wisconsin\u0026ndash;Madison.\n\n[Mapbox](https://www.mapbox.com), for donating basemap services to mapshaper.org.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbloch%2Fmapshaper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbloch%2Fmapshaper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbloch%2Fmapshaper/lists"}