diff --git a/hipamd/packaging/convert_md_to_html.sh b/hipamd/packaging/convert_md_to_html.sh
new file mode 100755
index 0000000000..0f6237deb6
--- /dev/null
+++ b/hipamd/packaging/convert_md_to_html.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+function die {
+ echo "${1-Died}." >&2
+ exit 1
+}
+
+function cleanup {
+ rm -rf "$workdir"
+}
+
+# parse arguments
+hip_srcdir=$1
+html_destdir=$2
+[ "$hip_srcdir" != "" ] || [ "$html_destdir" != "" ] || die "Invalid arguments!"
+
+# create temporary directory for grip settings
+workdir=`mktemp -d`
+trap cleanup EXIT
+
+# setup grip
+export GRIPURL=$hip_srcdir
+export GRIPHOME=$workdir
+echo "CACHE_DIRECTORY = '$html_destdir/asset'" > $workdir/settings.py
+mkdir -p $html_destdir $html_destdir/clang-hipify $html_destdir/docs/markdown
+
+# convert all md files to html
+pushd $hip_srcdir
+for f in *.md clang-hipify/*.md docs/markdown/*.md; do grip --export --no-inline $f $html_destdir/${f%.*}.html; done
+popd
+
+# convert absolute links to relative links
+pushd $html_destdir
+for f in *.html; do sed -i "s?$GRIPURL/??g" $f; done
+for f in clang-hipify/*.html; do sed -i "s?$GRIPURL/?../?g" $f; done
+for f in docs/markdown/*.html; do sed -i "s?$GRIPURL/?../../?g" $f; done
+popd
+
+# update document titles
+pushd $html_destdir
+for f in *.html; do sed -i "s?.md - Grip??g" $f; done
+for f in clang-hipify/*.html; do sed -i "s?.md - Grip??g" $f; done
+for f in docs/markdown/*.html; do sed -i "s?.md - Grip??g" $f; done
+popd
+
+# replace .md with .html in links
+pushd $html_destdir
+for f in *.html; do sed -i "s?.md\"?.html\"?g" $f; done
+for f in *.html; do sed -i "s?.md#?.html#?g" $f; done
+for f in clang-hipify/*.html; do sed -i "s?.md\"?.html\"?g" $f; done
+for f in clang-hipify/*.html; do sed -i "s?.md#?.html#?g" $f; done
+for f in docs/markdown/*.html; do sed -i "s?.md\"?.html\"?g" $f; done
+for f in docs/markdown/*.html; do sed -i "s?.md#?.html#?g" $f; done
+popd
+
+# replace github.io links
+pushd $html_destdir
+sed -i "s?http://gpuopen-professionalcompute-tools.github.io/HIP?docs/RuntimeAPI/html/index.html?g" README.html
+sed -i "s?http://gpuopen-professionalcompute-tools.github.io/HIP?docs/RuntimeAPI/html/?g" RELEASE.html
+popd
+
+exit 0
diff --git a/hipamd/packaging/hip_doc.txt b/hipamd/packaging/hip_doc.txt
index 287bb8e1a8..bbcaf54ec8 100644
--- a/hipamd/packaging/hip_doc.txt
+++ b/hipamd/packaging/hip_doc.txt
@@ -3,7 +3,10 @@ project(hip_doc)
add_custom_target(build_doxygen ALL
COMMAND HIP_PATH=@hip_SOURCE_DIR@ doxygen @hip_SOURCE_DIR@/docs/doxygen-input/doxy.cfg)
-install(DIRECTORY RuntimeAPI/html DESTINATION docs)
+add_custom_target(convert_md_to_html ALL
+ COMMAND @hip_SOURCE_DIR@/packaging/convert_md_to_html.sh @hip_SOURCE_DIR@ ${PROJECT_BINARY_DIR}/md2html)
+install(DIRECTORY RuntimeAPI/html DESTINATION docs/docs/RuntimeAPI)
+install(DIRECTORY md2html/ DESTINATION docs)
#############################
# Packaging steps