I've imported several shapefiles which where exported from a Mapinfo .tab. Several .tab-files are imported resulting in 20+ layers.

Afterwards I want to export it to GeoJSON; but I'm reluctant to select each layer and export it manually.

Is there a way to merge all the layers into one using QGIS?

  • All these functions can be accessed via the Sextante plugin, also in Lisboa
    – user20470
    Jul 26 '13 at 8:59
  • yes, the tools works perfectly. Just if the input shapefiles are in UTF8, the output shapefile lose atributes.... is there any way to say QGIS to create SHP in UTF8 ? something like in ArcGIS, where you can in registry set the value defaul codepage to UTF8?
    – user22228
    Sep 23 '13 at 10:11

You can use MMQGIS tools for merging...


The merge layers tool merges features from multiple layers into a single shapefile and adds the merged shapefile to the project. One or more layers are selected from the "Select Source Layers" dialog list box and an output shapefile name is specified in the "Output Shapefile" dialog field.

Merged layers must all be the same geometry type (point, polygon, etc.). If the source layers have different attribute fields (distinguished by name and type), the merged file will contain a set of all different fields from the source layers with NULL values inserted when a source layer does not have a specific output field.

i hope it helps you...

  • 20
    There is such an option, under the vector menu, data management tool
    – Ecodiv
    Aug 1 '12 at 7:56
  • what about if the two or more layers have different coordinate systems?? gis.stackexchange.com/questions/279571/…
    – aaaaa
    Apr 16 '18 at 9:23
  • 1
    One benefit of the MMQGIS merge tool is that it can handle attribute fields with the same name but different types - the builtin merge layer tool throws an error when this happens. Jun 30 '20 at 5:11
  • MMQGIS cuts the column characters in the data attribute table to just 10. See my answer below.
    – MKR
    Dec 9 '21 at 11:58

You can use the 'merge shapefiles to one' function under the menu vector|Data management tool. You can merge all files in the input directory or select specific files in the input directory.

enter image description here

The same applies as for MMqgis tool: merged layers must all be of the same geometry type. Also, if the source layers have different attributes fields, the merged file will contain all fields, but with NULL values inserted when a source layer does not have a specific field.


You can also use the v.patch module under GRASS GIS commands. It's available in the processing toolbox.

You can search for it when the dropdown at the bottom of the Processing Toolbox window is switched from "Simplified interface" to "Advanced interface".

enter image description here


In the meantime, a feature called "Merge vector layers" has been added to QGIS (under "Vector general")

merge vector layers screenshot


I would suggest using the Vector - Data Management Tools -> Merge Vector Layers instead of MMQGIS -> Combine -> Merge Layers.

The reason behind is is your data attribute table. MMQGIS reduces the characters limit to 10, unlike the Merge Vector Layers tool. You can still use it, although be aware that your naming will be cut, as you can see below:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.