Filter Geospatial Data by Attribute — GeoJSON, Shapefile, KML and more
Select features from any vector file that match specific attribute criteria. Use these free browser-based tools to filter GeoJSON, Shapefile, KML, GeoPackage, and GML using a simple field/operator/value builder or a full SQL WHERE clause — without installing QGIS, ArcGIS, or any other software.
What is attribute filtering?
Attribute filtering (also called attribute selection or feature querying) selects a subset of features from a vector dataset based on the values stored in their non-spatial attribute columns. Instead of removing data by its location, you are removing it by what it is — for example: all roads where class = "motorway", all parcels where area > 5000, or all points where name contains "station".
These tools support two filtering modes. In Simple Filter mode, you choose a field from a dropdown, pick an operator (equals, not equals, greater than, less than, or contains), enter a value, and the tool applies a WHERE clause using GDAL's OGR query interface. In SQL Query mode, you can write a full SELECT ... WHERE statement, which supports complex conditions, AND/OR logic, and any expression supported by OGR SQL dialect — all without needing a database server.
All processing runs entirely in your browser using GDAL WebAssembly. Your files are never uploaded to a server. The result is downloaded directly to your device in the output format of your choice.
Common use cases
Extract a subset of road classes
Filter an OpenStreetMap road network by the "highway" attribute to extract only motorways and trunk roads, discarding service roads and footpaths.
Select features by area or length threshold
Filter a parcel dataset to keep only lots above a given area, or a river network to retain only rivers longer than a certain length.
Isolate a single administrative region
Filter a national boundaries file by the "NAME" or "ADMIN" field to extract a single country or province as a standalone file.
Data cleaning and QA
Filter out features with null or default attribute values, or with known data errors, before importing a dataset into a database or publishing to a web map.
Prepare data for analysis
Filter a building footprint dataset to retain only commercial buildings before running a spatial join with a population grid, reducing processing time and output size.
How to use
- 1
Upload your vector file — drop a GeoJSON, Shapefile ZIP, KML, GeoPackage, or GML file onto the upload zone.
- 2
Wait for the field list to load — the tool reads the attribute schema and populates the field dropdown automatically.
- 3
Choose Simple Filter or SQL Query mode — in simple mode, pick a field, operator, and value; in SQL mode, write a full SELECT ... WHERE statement.
- 4
Set your output format — choose GeoJSON, Shapefile, KML, GeoPackage, or GML for the filtered result.
- 5
Click Apply Filter — the matching features are extracted and downloaded immediately to your device.
Frequently asked questions
What operators does the simple filter support?
The simple filter supports equals (=), not equals (!=), greater than (>), less than (<), greater than or equal (>=), less than or equal (<=), and LIKE (contains). Text values are automatically quoted; numeric values are passed as numbers.
Can I filter on multiple fields at once?
Yes — use SQL Query mode to write a WHERE clause with multiple conditions joined by AND or OR. For example: WHERE population > 100000 AND country = 'France'.
What SQL dialect does the query editor use?
The SQL editor uses OGR SQL, which supports SELECT, WHERE, ORDER BY, and LIMIT. It handles string functions (LIKE, UPPER, LOWER), arithmetic operators, and IS NULL / IS NOT NULL checks. It is not a full database SQL but covers the most common filtering needs.
What happens if zero features match my filter?
The output will be an empty FeatureCollection (or equivalent for the output format) with zero features. The feature count shown after filtering will be zero. Adjust your filter criteria and try again.
Does filtering change the attribute schema of the output?
No — the output retains all original attribute fields. Only the rows (features) are filtered; the columns (fields) remain unchanged unless you specify particular columns in a SELECT statement in SQL mode.