diff --git a/docs/migration-from-swagger-codegen.md b/docs/migration-from-swagger-codegen.md
new file mode 100644
index 0000000000..59a33e089c
--- /dev/null
+++ b/docs/migration-from-swagger-codegen.md
@@ -0,0 +1,128 @@
+## Migration guide: from Swagger Codegen to OpenAPI Generator
+
+OpenAPI Generator is a fork of `swagger-codegen` between version `2.3.1` and `2.4.0`.
+This community-driven version called "OpenAPI Generator" provides similar functionalities and can be used as drop-in replacement.
+This guide explains the major differences in order to help you with the migration.
+
+### New maven coordinates
+
+You can find our released artefact on maven central:
+
+**Core:**
+
+Old:
+
+```
+
+ io.swagger
+ swagger-codegen
+
+```
+
+New:
+
+```
+
+ org.openapitools
+ openapi-generator
+
+```
+
+**Cli:**
+
+```
+
+ io.swagger
+ swagger-codegen-cli
+
+```
+
+New:
+
+```
+
+ org.openapitools
+ openapi-generator-cli
+
+```
+
+**Maven plugin:**
+
+```
+
+ io.swagger
+ swagger-codegen-maven-plugin
+
+```
+
+New:
+
+```
+
+ org.openapitools
+ openapi-generator-maven-plugin
+
+```
+
+
+### New generators names
+
+When you run OpenAPI Generator, you need to select a target language (`-l` option in the cli).
+All languages of `swagger-codegen` have been migrated to `openapi-generator`, but some names were changed, in order to be more consistent.
+
+| name in `swagger-codegen` | name in `openapi-generator` |
+|--|--|
+| `akka-scala` | `scala-akka` |
+| `scala` | `scala-httpclient` |
+| `jaxrs` | `jaxrs-jersey` |
+| `qt5cpp` | `cpp-qt5` |
+| `swift` | `swift2-deprecated` |
+
+
+### New parameters name
+
+Some parameters were renamed.
+Often you need to replace "Swagger", with "OpenAPI".
+Some examples:
+
+| name in `swagger-codegen` | name in `openapi-generator` |
+|--|--|
+| `debugSwagger` | `debugOpenAPI` |
+| `GenerateSwaggerMetadata` | `GenerateOpenAPIMetadata` |
+| `swagger.codegen.undertow.apipackage` | `openapi.codegen.undertow.apipackage` |
+| `swagger.codegen.undertow.modelpackage` | `openapi.codegen.undertow.modelpackage` |
+
+
+### Ignore file
+
+`.swagger-codegen-ignore` is replaced by `.openapi-generator-ignore`.
+The syntax inside the file stays the same.
+
+You don't need to rename the file manually, OpenAPI Generator will do it when your run it against an existing an existing output directory.
+(When there is no `.openapi-generator-ignore` in a folder, if a `.swagger-codegen-ignore` file is present it will be considered and renamed to `.openapi-generator-ignore`).
+
+
+### Metadata folder
+
+The metatata folder (to store the `VERSION` file for example) is now called `.openapi-generator/` instead of `.swagger-codegen/`.
+
+
+
+### New default values for the generated code
+
+If you use a generator without specifying each parameter, you might see some differences in the generated code.
+As example the default package name used in the generated code has changed.
+You need to have a look at the specific value, depending of your target language, but often `Swagger` îs replaced by `OpenAPITools` and `io.swagger` is replaced by `org.openapitools`.
+Concretely if you did not specify anything when you are generating java code, a file `org/openapitools/api/PetApi.java` might be generated instead of `io/swagger/api/PetApi.java`.
+
+If this is a problem for you, you need to explicitly set the the parameter value in order to match with the `swagger-codgen` default value (`apiPackage` == `io.swagger` in the previous example with the java generator).
+
+
+### New fully qualified name for the classes
+
+If you have extended some generators in your project, and you are looking for a specific class, replace the `io.swagger.codegen` package (old name) with `org.openapitools.codegen` package (new name).
+
+Example: `org.openapitools.codegen.DefaultGenerator`
+
+
+[Back to OpenAPI-Generator's README page](../README.md)