diff --git a/README.rst b/README.rst
index 04a53d0..cdeb66f 100644
--- a/README.rst
+++ b/README.rst
@@ -46,6 +46,7 @@ optional arguments:
   --version   show version and exit
   --import IMPORT  modules to import
   --sort-keys, -S  sort keys in objects when the command print it
+  --join-output, -j  do not show newlines
 
 
 Example
diff --git a/jqp/__init__.py b/jqp/__init__.py
index def3f62..c2f9405 100644
--- a/jqp/__init__.py
+++ b/jqp/__init__.py
@@ -20,7 +20,8 @@ def _exit(error, return_code, message):
     sys.exit(return_code)
 
 
-def run(in_io, out_io, cmd, imports=[], sort_keys=False, raw_output=False):
+def run(in_io, out_io, cmd, imports=[], sort_keys=False, raw_output=False,
+        join_output=False):
     environment = {}
     for mod_name in imports:
         try:
@@ -53,7 +54,8 @@ def run(in_io, out_io, cmd, imports=[], sort_keys=False, raw_output=False):
             except Exception as e:
                 _exit(e, 3, 'Cannot dump result: line %d' % line_no)
 
-        out_io.write('\n')
+        if not join_output:
+            out_io.write('\n')
 
 
 def main():
@@ -71,8 +73,12 @@ def main():
     parser.add_argument(
         '--raw-output', '-r', action='store_true',
         help='when a result is string, the command shows a raw string')
+    parser.add_argument(
+        '--join-output', '-j', action='store_true',
+        help='do not show newlines')
 
     args = parser.parse_args()
 
     run(sys.stdin, sys.stdout, args.cmd, imports=getattr(args, 'import'),
-        sort_keys=args.sort_keys, raw_output=args.raw_output)
+        sort_keys=args.sort_keys, raw_output=args.raw_output,
+        join_output=args.join_output)

Make an option to suppress newline characters
jq has `--join-output / -j` option that surpress newlines.
diff --git a/tests/run_test.py b/tests/run_test.py
index f2fb837..954a304 100644
--- a/tests/run_test.py
+++ b/tests/run_test.py
@@ -39,6 +39,13 @@ class RunTest(unittest.TestCase):
         jqp.run(inputs, outputs, '"a"', raw_output=True)
         self.assertEqual(outputs.getvalue(), 'a\n')
 
+    def test_join_output(self):
+        inputs = StringIO('''1
+2''')
+        outputs = StringIO()
+        jqp.run(inputs, outputs, 'j', join_output=True)
+        self.assertEqual(outputs.getvalue(), '12')
+
     def test_parse_error(self):
         inputs = StringIO('invalid\n')
         outputs = StringIO()

pip install -e .
parse_log_pytest
pytest
pytest
3.5
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
certifi==2021.5.30
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
-e git+https://github.com/unnonouno/jqp.git@2cb79f866194b90b5236d8146e3cab6ace704ebd#egg=jqp
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: jqp
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
prefix: /opt/conda/envs/jqp

tests/run_test.py::RunTest::test_join_output
tests/run_test.py::RunTest::test1 tests/run_test.py::RunTest::test_dump_error tests/run_test.py::RunTest::test_execution_error tests/run_test.py::RunTest::test_import tests/run_test.py::RunTest::test_import_error tests/run_test.py::RunTest::test_parse_error tests/run_test.py::RunTest::test_raw_output tests/run_test.py::RunTest::test_sort_keys
README.rst jqp/__init__.py
README.rst jqp/__init__.py